appwrite 10.1.2 → 11.0.0.pre.rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/appwrite/client.rb +43 -4
 - data/lib/appwrite/enums/authentication_factor.rb +9 -0
 - data/lib/appwrite/enums/authenticator_type.rb +7 -0
 - data/lib/appwrite/enums/browser.rb +20 -0
 - data/lib/appwrite/enums/compression.rb +9 -0
 - data/lib/appwrite/enums/credit_card.rb +22 -0
 - data/lib/appwrite/enums/encryption.rb +9 -0
 - data/lib/appwrite/enums/execution_method.rb +12 -0
 - data/lib/appwrite/enums/flag.rb +200 -0
 - data/lib/appwrite/enums/image_format.rb +11 -0
 - data/lib/appwrite/enums/image_gravity.rb +15 -0
 - data/lib/appwrite/enums/index_type.rb +10 -0
 - data/lib/appwrite/enums/message_status.rb +9 -0
 - data/lib/appwrite/enums/messaging_provider_type.rb +9 -0
 - data/lib/appwrite/enums/name.rb +18 -0
 - data/lib/appwrite/enums/o_auth_provider.rb +45 -0
 - data/lib/appwrite/enums/password_hash.rb +17 -0
 - data/lib/appwrite/enums/relation_mutate.rb +9 -0
 - data/lib/appwrite/enums/relationship_type.rb +10 -0
 - data/lib/appwrite/enums/runtime.rb +42 -0
 - data/lib/appwrite/models/health_certificate.rb +52 -0
 - data/lib/appwrite/models/jwt.rb +27 -0
 - data/lib/appwrite/models/membership.rb +5 -0
 - data/lib/appwrite/models/message.rb +87 -0
 - data/lib/appwrite/models/message_list.rb +32 -0
 - data/lib/appwrite/models/mfa_challenge.rb +42 -0
 - data/lib/appwrite/models/mfa_factors.rb +37 -0
 - data/lib/appwrite/models/mfa_type.rb +37 -0
 - data/lib/appwrite/models/provider.rb +67 -0
 - data/lib/appwrite/models/provider_list.rb +32 -0
 - data/lib/appwrite/models/session.rb +13 -3
 - data/lib/appwrite/models/subscriber.rb +67 -0
 - data/lib/appwrite/models/subscriber_list.rb +32 -0
 - data/lib/appwrite/models/target.rb +62 -0
 - data/lib/appwrite/models/target_list.rb +32 -0
 - data/lib/appwrite/models/token.rb +8 -3
 - data/lib/appwrite/models/topic.rb +62 -0
 - data/lib/appwrite/models/topic_list.rb +32 -0
 - data/lib/appwrite/models/user.rb +15 -0
 - data/lib/appwrite/query.rb +53 -28
 - data/lib/appwrite/services/account.rb +650 -12
 - data/lib/appwrite/services/avatars.rb +3 -3
 - data/lib/appwrite/services/databases.rb +6 -6
 - data/lib/appwrite/services/functions.rb +3 -3
 - data/lib/appwrite/services/health.rb +59 -0
 - data/lib/appwrite/services/messaging.rb +1879 -0
 - data/lib/appwrite/services/storage.rb +4 -4
 - data/lib/appwrite/services/teams.rb +1 -1
 - data/lib/appwrite/services/users.rb +382 -4
 - data/lib/appwrite.rb +36 -0
 - metadata +39 -4
 
| 
         @@ -0,0 +1,62 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Appwrite
         
     | 
| 
      
 4 
     | 
    
         
            +
                module Models
         
     | 
| 
      
 5 
     | 
    
         
            +
                    class Topic
         
     | 
| 
      
 6 
     | 
    
         
            +
                        attr_reader :id
         
     | 
| 
      
 7 
     | 
    
         
            +
                        attr_reader :created_at
         
     | 
| 
      
 8 
     | 
    
         
            +
                        attr_reader :updated_at
         
     | 
| 
      
 9 
     | 
    
         
            +
                        attr_reader :name
         
     | 
| 
      
 10 
     | 
    
         
            +
                        attr_reader :email_total
         
     | 
| 
      
 11 
     | 
    
         
            +
                        attr_reader :sms_total
         
     | 
| 
      
 12 
     | 
    
         
            +
                        attr_reader :push_total
         
     | 
| 
      
 13 
     | 
    
         
            +
                        attr_reader :subscribe
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                        def initialize(
         
     | 
| 
      
 16 
     | 
    
         
            +
                            id:,
         
     | 
| 
      
 17 
     | 
    
         
            +
                            created_at:,
         
     | 
| 
      
 18 
     | 
    
         
            +
                            updated_at:,
         
     | 
| 
      
 19 
     | 
    
         
            +
                            name:,
         
     | 
| 
      
 20 
     | 
    
         
            +
                            email_total:,
         
     | 
| 
      
 21 
     | 
    
         
            +
                            sms_total:,
         
     | 
| 
      
 22 
     | 
    
         
            +
                            push_total:,
         
     | 
| 
      
 23 
     | 
    
         
            +
                            subscribe:
         
     | 
| 
      
 24 
     | 
    
         
            +
                        )
         
     | 
| 
      
 25 
     | 
    
         
            +
                            @id = id
         
     | 
| 
      
 26 
     | 
    
         
            +
                            @created_at = created_at
         
     | 
| 
      
 27 
     | 
    
         
            +
                            @updated_at = updated_at
         
     | 
| 
      
 28 
     | 
    
         
            +
                            @name = name
         
     | 
| 
      
 29 
     | 
    
         
            +
                            @email_total = email_total
         
     | 
| 
      
 30 
     | 
    
         
            +
                            @sms_total = sms_total
         
     | 
| 
      
 31 
     | 
    
         
            +
                            @push_total = push_total
         
     | 
| 
      
 32 
     | 
    
         
            +
                            @subscribe = subscribe
         
     | 
| 
      
 33 
     | 
    
         
            +
                        end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                        def self.from(map:)
         
     | 
| 
      
 36 
     | 
    
         
            +
                            Topic.new(
         
     | 
| 
      
 37 
     | 
    
         
            +
                                id: map["$id"],
         
     | 
| 
      
 38 
     | 
    
         
            +
                                created_at: map["$createdAt"],
         
     | 
| 
      
 39 
     | 
    
         
            +
                                updated_at: map["$updatedAt"],
         
     | 
| 
      
 40 
     | 
    
         
            +
                                name: map["name"],
         
     | 
| 
      
 41 
     | 
    
         
            +
                                email_total: map["emailTotal"],
         
     | 
| 
      
 42 
     | 
    
         
            +
                                sms_total: map["smsTotal"],
         
     | 
| 
      
 43 
     | 
    
         
            +
                                push_total: map["pushTotal"],
         
     | 
| 
      
 44 
     | 
    
         
            +
                                subscribe: map["subscribe"]
         
     | 
| 
      
 45 
     | 
    
         
            +
                            )
         
     | 
| 
      
 46 
     | 
    
         
            +
                        end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                        def to_map
         
     | 
| 
      
 49 
     | 
    
         
            +
                            {
         
     | 
| 
      
 50 
     | 
    
         
            +
                                "$id": @id,
         
     | 
| 
      
 51 
     | 
    
         
            +
                                "$createdAt": @created_at,
         
     | 
| 
      
 52 
     | 
    
         
            +
                                "$updatedAt": @updated_at,
         
     | 
| 
      
 53 
     | 
    
         
            +
                                "name": @name,
         
     | 
| 
      
 54 
     | 
    
         
            +
                                "emailTotal": @email_total,
         
     | 
| 
      
 55 
     | 
    
         
            +
                                "smsTotal": @sms_total,
         
     | 
| 
      
 56 
     | 
    
         
            +
                                "pushTotal": @push_total,
         
     | 
| 
      
 57 
     | 
    
         
            +
                                "subscribe": @subscribe
         
     | 
| 
      
 58 
     | 
    
         
            +
                            }
         
     | 
| 
      
 59 
     | 
    
         
            +
                        end
         
     | 
| 
      
 60 
     | 
    
         
            +
                    end
         
     | 
| 
      
 61 
     | 
    
         
            +
                end
         
     | 
| 
      
 62 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Appwrite
         
     | 
| 
      
 4 
     | 
    
         
            +
                module Models
         
     | 
| 
      
 5 
     | 
    
         
            +
                    class TopicList
         
     | 
| 
      
 6 
     | 
    
         
            +
                        attr_reader :total
         
     | 
| 
      
 7 
     | 
    
         
            +
                        attr_reader :topics
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                        def initialize(
         
     | 
| 
      
 10 
     | 
    
         
            +
                            total:,
         
     | 
| 
      
 11 
     | 
    
         
            +
                            topics:
         
     | 
| 
      
 12 
     | 
    
         
            +
                        )
         
     | 
| 
      
 13 
     | 
    
         
            +
                            @total = total
         
     | 
| 
      
 14 
     | 
    
         
            +
                            @topics = topics
         
     | 
| 
      
 15 
     | 
    
         
            +
                        end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                        def self.from(map:)
         
     | 
| 
      
 18 
     | 
    
         
            +
                            TopicList.new(
         
     | 
| 
      
 19 
     | 
    
         
            +
                                total: map["total"],
         
     | 
| 
      
 20 
     | 
    
         
            +
                                topics: map["topics"].map { |it| Topic.from(map: it) }
         
     | 
| 
      
 21 
     | 
    
         
            +
                            )
         
     | 
| 
      
 22 
     | 
    
         
            +
                        end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                        def to_map
         
     | 
| 
      
 25 
     | 
    
         
            +
                            {
         
     | 
| 
      
 26 
     | 
    
         
            +
                                "total": @total,
         
     | 
| 
      
 27 
     | 
    
         
            +
                                "topics": @topics.map { |it| it.to_map }
         
     | 
| 
      
 28 
     | 
    
         
            +
                            }
         
     | 
| 
      
 29 
     | 
    
         
            +
                        end
         
     | 
| 
      
 30 
     | 
    
         
            +
                    end
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/appwrite/models/user.rb
    CHANGED
    
    | 
         @@ -18,7 +18,10 @@ module Appwrite 
     | 
|
| 
       18 
18 
     | 
    
         
             
                        attr_reader :phone
         
     | 
| 
       19 
19 
     | 
    
         
             
                        attr_reader :email_verification
         
     | 
| 
       20 
20 
     | 
    
         
             
                        attr_reader :phone_verification
         
     | 
| 
      
 21 
     | 
    
         
            +
                        attr_reader :mfa
         
     | 
| 
      
 22 
     | 
    
         
            +
                        attr_reader :totp
         
     | 
| 
       21 
23 
     | 
    
         
             
                        attr_reader :prefs
         
     | 
| 
      
 24 
     | 
    
         
            +
                        attr_reader :targets
         
     | 
| 
       22 
25 
     | 
    
         
             
                        attr_reader :accessed_at
         
     | 
| 
       23 
26 
     | 
    
         | 
| 
       24 
27 
     | 
    
         
             
                        def initialize(
         
     | 
| 
         @@ -37,7 +40,10 @@ module Appwrite 
     | 
|
| 
       37 
40 
     | 
    
         
             
                            phone:,
         
     | 
| 
       38 
41 
     | 
    
         
             
                            email_verification:,
         
     | 
| 
       39 
42 
     | 
    
         
             
                            phone_verification:,
         
     | 
| 
      
 43 
     | 
    
         
            +
                            mfa:,
         
     | 
| 
      
 44 
     | 
    
         
            +
                            totp:,
         
     | 
| 
       40 
45 
     | 
    
         
             
                            prefs:,
         
     | 
| 
      
 46 
     | 
    
         
            +
                            targets:,
         
     | 
| 
       41 
47 
     | 
    
         
             
                            accessed_at:
         
     | 
| 
       42 
48 
     | 
    
         
             
                        )
         
     | 
| 
       43 
49 
     | 
    
         
             
                            @id = id
         
     | 
| 
         @@ -55,7 +61,10 @@ module Appwrite 
     | 
|
| 
       55 
61 
     | 
    
         
             
                            @phone = phone
         
     | 
| 
       56 
62 
     | 
    
         
             
                            @email_verification = email_verification
         
     | 
| 
       57 
63 
     | 
    
         
             
                            @phone_verification = phone_verification
         
     | 
| 
      
 64 
     | 
    
         
            +
                            @mfa = mfa
         
     | 
| 
      
 65 
     | 
    
         
            +
                            @totp = totp
         
     | 
| 
       58 
66 
     | 
    
         
             
                            @prefs = prefs
         
     | 
| 
      
 67 
     | 
    
         
            +
                            @targets = targets
         
     | 
| 
       59 
68 
     | 
    
         
             
                            @accessed_at = accessed_at
         
     | 
| 
       60 
69 
     | 
    
         
             
                        end
         
     | 
| 
       61 
70 
     | 
    
         | 
| 
         @@ -76,7 +85,10 @@ module Appwrite 
     | 
|
| 
       76 
85 
     | 
    
         
             
                                phone: map["phone"],
         
     | 
| 
       77 
86 
     | 
    
         
             
                                email_verification: map["emailVerification"],
         
     | 
| 
       78 
87 
     | 
    
         
             
                                phone_verification: map["phoneVerification"],
         
     | 
| 
      
 88 
     | 
    
         
            +
                                mfa: map["mfa"],
         
     | 
| 
      
 89 
     | 
    
         
            +
                                totp: map["totp"],
         
     | 
| 
       79 
90 
     | 
    
         
             
                                prefs: Preferences.from(map: map["prefs"]),
         
     | 
| 
      
 91 
     | 
    
         
            +
                                targets: map["targets"].map { |it| Target.from(map: it) },
         
     | 
| 
       80 
92 
     | 
    
         
             
                                accessed_at: map["accessedAt"]
         
     | 
| 
       81 
93 
     | 
    
         
             
                            )
         
     | 
| 
       82 
94 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -98,7 +110,10 @@ module Appwrite 
     | 
|
| 
       98 
110 
     | 
    
         
             
                                "phone": @phone,
         
     | 
| 
       99 
111 
     | 
    
         
             
                                "emailVerification": @email_verification,
         
     | 
| 
       100 
112 
     | 
    
         
             
                                "phoneVerification": @phone_verification,
         
     | 
| 
      
 113 
     | 
    
         
            +
                                "mfa": @mfa,
         
     | 
| 
      
 114 
     | 
    
         
            +
                                "totp": @totp,
         
     | 
| 
       101 
115 
     | 
    
         
             
                                "prefs": @prefs.to_map,
         
     | 
| 
      
 116 
     | 
    
         
            +
                                "targets": @targets.map { |it| it.to_map },
         
     | 
| 
       102 
117 
     | 
    
         
             
                                "accessedAt": @accessed_at
         
     | 
| 
       103 
118 
     | 
    
         
             
                            }
         
     | 
| 
       104 
119 
     | 
    
         
             
                        end
         
     | 
    
        data/lib/appwrite/query.rb
    CHANGED
    
    | 
         @@ -1,94 +1,119 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'json'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module Appwrite
         
     | 
| 
       2 
4 
     | 
    
         
             
                class Query
         
     | 
| 
      
 5 
     | 
    
         
            +
                    def initialize(method, attribute = nil, values = nil)
         
     | 
| 
      
 6 
     | 
    
         
            +
                        @method = method
         
     | 
| 
      
 7 
     | 
    
         
            +
                        @attribute = attribute
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                        if values != nil
         
     | 
| 
      
 10 
     | 
    
         
            +
                            if values.is_a?(Array)
         
     | 
| 
      
 11 
     | 
    
         
            +
                                @values = values
         
     | 
| 
      
 12 
     | 
    
         
            +
                            else
         
     | 
| 
      
 13 
     | 
    
         
            +
                                @values = [values]
         
     | 
| 
      
 14 
     | 
    
         
            +
                            end
         
     | 
| 
      
 15 
     | 
    
         
            +
                        end
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                    def to_json(*args)
         
     | 
| 
      
 19 
     | 
    
         
            +
                        {
         
     | 
| 
      
 20 
     | 
    
         
            +
                            method: @method,
         
     | 
| 
      
 21 
     | 
    
         
            +
                            attribute: @attribute,
         
     | 
| 
      
 22 
     | 
    
         
            +
                            values: @values
         
     | 
| 
      
 23 
     | 
    
         
            +
                        }.compact.to_json(*args)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    def to_s
         
     | 
| 
      
 27 
     | 
    
         
            +
                        return self.to_json
         
     | 
| 
      
 28 
     | 
    
         
            +
                    end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       3 
30 
     | 
    
         
             
                    class << Query
         
     | 
| 
       4 
31 
     | 
    
         
             
                        def equal(attribute, value)
         
     | 
| 
       5 
     | 
    
         
            -
                            return  
     | 
| 
      
 32 
     | 
    
         
            +
                            return Query.new("equal", attribute, value).to_s
         
     | 
| 
       6 
33 
     | 
    
         
             
                        end
         
     | 
| 
       7 
34 
     | 
    
         | 
| 
       8 
35 
     | 
    
         
             
                        def not_equal(attribute, value)
         
     | 
| 
       9 
     | 
    
         
            -
                            return  
     | 
| 
      
 36 
     | 
    
         
            +
                            return Query.new("notEqual", attribute, value).to_s
         
     | 
| 
       10 
37 
     | 
    
         
             
                        end
         
     | 
| 
       11 
38 
     | 
    
         | 
| 
       12 
39 
     | 
    
         
             
                        def less_than(attribute, value)
         
     | 
| 
       13 
     | 
    
         
            -
                            return  
     | 
| 
      
 40 
     | 
    
         
            +
                            return Query.new("lessThan", attribute, value).to_s
         
     | 
| 
       14 
41 
     | 
    
         
             
                        end
         
     | 
| 
       15 
42 
     | 
    
         | 
| 
       16 
43 
     | 
    
         
             
                        def less_than_equal(attribute, value)
         
     | 
| 
       17 
     | 
    
         
            -
                            return  
     | 
| 
      
 44 
     | 
    
         
            +
                            return Query.new("lessThanEqual", attribute, value).to_s
         
     | 
| 
       18 
45 
     | 
    
         
             
                        end
         
     | 
| 
       19 
46 
     | 
    
         | 
| 
       20 
47 
     | 
    
         
             
                        def greater_than(attribute, value)
         
     | 
| 
       21 
     | 
    
         
            -
                            return  
     | 
| 
      
 48 
     | 
    
         
            +
                            return Query.new("greaterThan", attribute, value).to_s
         
     | 
| 
       22 
49 
     | 
    
         
             
                        end
         
     | 
| 
       23 
50 
     | 
    
         | 
| 
       24 
51 
     | 
    
         
             
                        def greater_than_equal(attribute, value)
         
     | 
| 
       25 
     | 
    
         
            -
                            return  
     | 
| 
      
 52 
     | 
    
         
            +
                            return Query.new("greaterThanEqual", attribute, value).to_s
         
     | 
| 
       26 
53 
     | 
    
         
             
                        end
         
     | 
| 
       27 
54 
     | 
    
         | 
| 
       28 
55 
     | 
    
         
             
                        def is_null(attribute)
         
     | 
| 
       29 
     | 
    
         
            -
                            return "isNull 
     | 
| 
      
 56 
     | 
    
         
            +
                            return Query.new("isNull", attribute, nil).to_s
         
     | 
| 
       30 
57 
     | 
    
         
             
                        end
         
     | 
| 
       31 
58 
     | 
    
         | 
| 
       32 
59 
     | 
    
         
             
                        def is_not_null(attribute)
         
     | 
| 
       33 
     | 
    
         
            -
                            return "isNotNull 
     | 
| 
      
 60 
     | 
    
         
            +
                            return Query.new("isNotNull", attribute, nil).to_s
         
     | 
| 
       34 
61 
     | 
    
         
             
                        end
         
     | 
| 
       35 
62 
     | 
    
         | 
| 
       36 
63 
     | 
    
         
             
                        def between(attribute, start, ending)
         
     | 
| 
       37 
     | 
    
         
            -
                            return "between 
     | 
| 
      
 64 
     | 
    
         
            +
                            return Query.new("between", attribute, [start, ending]).to_s
         
     | 
| 
       38 
65 
     | 
    
         
             
                        end
         
     | 
| 
       39 
66 
     | 
    
         | 
| 
       40 
67 
     | 
    
         
             
                        def starts_with(attribute, value)
         
     | 
| 
       41 
     | 
    
         
            -
                            return  
     | 
| 
      
 68 
     | 
    
         
            +
                            return Query.new("startsWith", attribute, value).to_s
         
     | 
| 
       42 
69 
     | 
    
         
             
                        end
         
     | 
| 
       43 
70 
     | 
    
         | 
| 
       44 
71 
     | 
    
         
             
                        def ends_with(attribute, value)
         
     | 
| 
       45 
     | 
    
         
            -
                            return  
     | 
| 
      
 72 
     | 
    
         
            +
                            return Query.new("endsWith", attribute, value).to_s
         
     | 
| 
       46 
73 
     | 
    
         
             
                        end
         
     | 
| 
       47 
74 
     | 
    
         | 
| 
       48 
75 
     | 
    
         
             
                        def select(attributes)
         
     | 
| 
       49 
     | 
    
         
            -
                            return "select 
     | 
| 
      
 76 
     | 
    
         
            +
                            return Query.new("select", nil, attributes).to_s
         
     | 
| 
       50 
77 
     | 
    
         
             
                        end
         
     | 
| 
       51 
78 
     | 
    
         | 
| 
       52 
79 
     | 
    
         
             
                        def search(attribute, value)
         
     | 
| 
       53 
     | 
    
         
            -
                            return  
     | 
| 
      
 80 
     | 
    
         
            +
                            return Query.new("search", attribute, value).to_s
         
     | 
| 
       54 
81 
     | 
    
         
             
                        end
         
     | 
| 
       55 
82 
     | 
    
         | 
| 
       56 
83 
     | 
    
         
             
                        def order_asc(attribute)
         
     | 
| 
       57 
     | 
    
         
            -
                            return "orderAsc 
     | 
| 
      
 84 
     | 
    
         
            +
                            return Query.new("orderAsc", attribute, nil).to_s
         
     | 
| 
       58 
85 
     | 
    
         
             
                        end
         
     | 
| 
       59 
86 
     | 
    
         | 
| 
       60 
87 
     | 
    
         
             
                        def order_desc(attribute)
         
     | 
| 
       61 
     | 
    
         
            -
                            return "orderDesc 
     | 
| 
      
 88 
     | 
    
         
            +
                            return Query.new("orderDesc", attribute, nil).to_s
         
     | 
| 
       62 
89 
     | 
    
         
             
                        end
         
     | 
| 
       63 
90 
     | 
    
         | 
| 
       64 
91 
     | 
    
         
             
                        def cursor_before(id)
         
     | 
| 
       65 
     | 
    
         
            -
                            return "cursorBefore 
     | 
| 
      
 92 
     | 
    
         
            +
                            return Query.new("cursorBefore", nil, id).to_s
         
     | 
| 
       66 
93 
     | 
    
         
             
                        end
         
     | 
| 
       67 
94 
     | 
    
         | 
| 
       68 
95 
     | 
    
         
             
                        def cursor_after(id)
         
     | 
| 
       69 
     | 
    
         
            -
                            return "cursorAfter 
     | 
| 
      
 96 
     | 
    
         
            +
                            return Query.new("cursorAfter", nil, id).to_s
         
     | 
| 
       70 
97 
     | 
    
         
             
                        end
         
     | 
| 
       71 
98 
     | 
    
         | 
| 
       72 
99 
     | 
    
         
             
                        def limit(limit)
         
     | 
| 
       73 
     | 
    
         
            -
                            return "limit 
     | 
| 
      
 100 
     | 
    
         
            +
                            return Query.new("limit", nil, limit).to_s
         
     | 
| 
       74 
101 
     | 
    
         
             
                        end
         
     | 
| 
       75 
102 
     | 
    
         | 
| 
       76 
103 
     | 
    
         
             
                        def offset(offset)
         
     | 
| 
       77 
     | 
    
         
            -
                            return "offset 
     | 
| 
      
 104 
     | 
    
         
            +
                            return Query.new("offset", nil, offset).to_s
         
     | 
| 
       78 
105 
     | 
    
         
             
                        end
         
     | 
| 
       79 
106 
     | 
    
         | 
| 
       80 
     | 
    
         
            -
                         
     | 
| 
      
 107 
     | 
    
         
            +
                        def contains(attribute, value)
         
     | 
| 
      
 108 
     | 
    
         
            +
                            return Query.new("contains", attribute, value).to_s
         
     | 
| 
      
 109 
     | 
    
         
            +
                        end
         
     | 
| 
       81 
110 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
                        def  
     | 
| 
       83 
     | 
    
         
            -
                             
     | 
| 
       84 
     | 
    
         
            -
                                "#{method}(\"#{attribute}\", [#{value.map {|item| parse_values(item)}.join(',')}])"
         
     | 
| 
       85 
     | 
    
         
            -
                            else
         
     | 
| 
       86 
     | 
    
         
            -
                               return "#{method}(\"#{attribute}\", [#{parse_values(value)}])"
         
     | 
| 
       87 
     | 
    
         
            -
            				end
         
     | 
| 
      
 111 
     | 
    
         
            +
                        def or(queries)
         
     | 
| 
      
 112 
     | 
    
         
            +
                            return Query.new("or", nil, queries.map { |query| JSON.parse(query) }).to_s
         
     | 
| 
       88 
113 
     | 
    
         
             
                        end
         
     | 
| 
       89 
114 
     | 
    
         | 
| 
       90 
     | 
    
         
            -
                        def  
     | 
| 
       91 
     | 
    
         
            -
                            return  
     | 
| 
      
 115 
     | 
    
         
            +
                        def and(queries)
         
     | 
| 
      
 116 
     | 
    
         
            +
                            return Query.new("and", nil, queries.map { |query| JSON.parse(query) }).to_s
         
     | 
| 
       92 
117 
     | 
    
         
             
                        end
         
     | 
| 
       93 
118 
     | 
    
         
             
                    end
         
     | 
| 
       94 
119 
     | 
    
         
             
                end
         
     |