Commit 632ea7f
Changed files (3)
app/models/scim/visitor.rb
@@ -1,8 +1,12 @@
module Scim
class Visitor
def self.result_for(tree)
+ puts tree.inspect
+
attr = SCIM::User::ATTRIBUTES[tree[:attribute].to_s] || tree[:attribute].to_s
case tree[:operator].to_s
+ when 'and'
+ result_for(tree[:left]).where(result_for(tree[:right]))
when 'or'
result_for(tree[:left]).or(result_for(tree[:right]))
when 'eq'
spec/models/user_spec.rb
@@ -85,5 +85,13 @@ RSpec.describe User do
)
expect(results.pluck(:email)).to match_array([first_user.email, second_user.email])
end
+
+ specify do
+ first_user = users.sample
+ second_user = users.sample
+ results = User.scim_filter_for(tree_for(%(meta.lastModified gt "#{first_user.updated_at.iso8601}" and meta.lastModified eq "#{second_user.updated_at.iso8601}")))
+ puts results.to_sql
+ expect(results).to match_array([first_user, second_user])
+ end
end
end
Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/mokhan/scim-kit.git
- revision: 39de2646da995c28ee61fdfb96b49e1251c3e46d
+ revision: 38f5077e882180aebeaeb3553bf196107561bc69
specs:
scim-kit (0.3.2)
activemodel (>= 5.2.0)