looksist 0.2.7 → 0.2.8
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/.travis.yml +3 -0
- data/README.md +11 -8
- data/lib/looksist/core.rb +1 -1
- data/lib/looksist/version.rb +1 -1
- data/spec/looksist/looksist_spec.rb +20 -41
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: af0970edfde1eaaedf7ff9dfeb7618e1c815beb9
         | 
| 4 | 
            +
              data.tar.gz: 6a05e43560a57b6cbc150bb59b149f02316fd923
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5ce3783053136540929bc910c84b51c6e0fa00f0aa448e2fc1b88449863096f3cba725e43e58b9ee804600dd59c2ab11b653d8757431ffe84b396c799ab35573
         | 
| 7 | 
            +
              data.tar.gz: feb2a4bb3cb516f7b34d95c4d474011fb5636cceae2fa32013948b0e72a3c764200cf1bd69a52fc3752c9be86448835086cd344dfd0a0d85fb5e36e39a52dc34
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -15,14 +15,17 @@ Add this line to your application's Gemfile: | |
| 15 15 |  | 
| 16 16 | 
             
                gem 'looksist'
         | 
| 17 17 |  | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
                 | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 18 | 
            +
            ## Supported Ruby Versions
         | 
| 19 | 
            +
                
         | 
| 20 | 
            +
                ruby 2.1
         | 
| 21 | 
            +
                ruby 1.9.3
         | 
| 22 | 
            +
                jruby 1.7
         | 
| 23 | 
            +
                
         | 
| 24 | 
            +
            ## Dependencies
         | 
| 25 | 
            +
                
         | 
| 26 | 
            +
                JsonPath - required by the gem. 
         | 
| 27 | 
            +
                ActiveSupport - external dependency, make sure to require it in your project.
         | 
| 28 | 
            +
                
         | 
| 26 29 | 
             
            ## Usage
         | 
| 27 30 |  | 
| 28 31 | 
             
            ### With Object Models (Her, Active Resource or any of your choice)
         | 
    
        data/lib/looksist/core.rb
    CHANGED
    
    | @@ -59,7 +59,7 @@ module Looksist | |
| 59 59 | 
             
                      lookup_attributes ||= {}
         | 
| 60 60 | 
             
                      other_attributes = lookup_attributes.keys.each_with_object({}) do |a, acc|
         | 
| 61 61 | 
             
                        using = lookup_attributes[a]
         | 
| 62 | 
            -
                        acc[a] = obj.send(a) if obj. | 
| 62 | 
            +
                        acc[a] = obj.send(a) if obj.attributes.has_key?(using.to_s)
         | 
| 63 63 | 
             
                      end
         | 
| 64 64 | 
             
                      obj.attributes.merge(other_attributes)
         | 
| 65 65 | 
             
                    end
         | 
    
        data/lib/looksist/version.rb
    CHANGED
    
    
| @@ -41,23 +41,17 @@ describe Looksist do | |
| 41 41 | 
             
                        include Her::Model
         | 
| 42 42 | 
             
                        use_api TEST_API
         | 
| 43 43 | 
             
                        include Looksist
         | 
| 44 | 
            -
                        attr_accessor :id
         | 
| 45 44 | 
             
                        lookup [:name, :age], using: :id, as: {name: 'nome'}
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                        def initialize(id)
         | 
| 48 | 
            -
                          @id = id
         | 
| 49 | 
            -
                        end
         | 
| 50 | 
            -
             | 
| 51 45 | 
             
                        def as_json(opts)
         | 
| 52 | 
            -
                          super(opts).merge( | 
| 46 | 
            +
                          super(opts).merge(attributes)
         | 
| 53 47 | 
             
                        end
         | 
| 54 48 | 
             
                      end
         | 
| 55 49 | 
             
                    end
         | 
| 56 50 | 
             
                    expect(@mock).to receive(:get).exactly(4).times.with('ids/1').and_return({name: 'Rajini', age: 16}.to_json)
         | 
| 57 | 
            -
                    e = AliasSpecificLookup::NoCacheEmployee.new(1)
         | 
| 51 | 
            +
                    e = AliasSpecificLookup::NoCacheEmployee.new(id:1)
         | 
| 58 52 | 
             
                    expect(e.nome).to eq('Rajini')
         | 
| 59 53 | 
             
                    expect(e.age).to eq(16)
         | 
| 60 | 
            -
                    expect(e.to_json).to eq("{\"nome\":\"Rajini\",\"age\":16 | 
| 54 | 
            +
                    expect(e.to_json).to eq("{\"id\":1,\"nome\":\"Rajini\",\"age\":16}")
         | 
| 61 55 | 
             
                  end
         | 
| 62 56 | 
             
                end
         | 
| 63 57 |  | 
| @@ -69,17 +63,10 @@ describe Looksist do | |
| 69 63 | 
             
                        include Her::Model
         | 
| 70 64 | 
             
                        use_api TEST_API
         | 
| 71 65 | 
             
                        include Looksist
         | 
| 72 | 
            -
                        attr_accessor :id
         | 
| 73 | 
            -
                        attr_accessor :department_id
         | 
| 74 66 | 
             
                        lookup :name, using: :id, bucket_name: 'employees'
         | 
| 75 67 |  | 
| 76 | 
            -
                        def initialize(id, department_id)
         | 
| 77 | 
            -
                          @id = id
         | 
| 78 | 
            -
                          @department_id = department_id
         | 
| 79 | 
            -
                        end
         | 
| 80 | 
            -
             | 
| 81 68 | 
             
                        def as_json(opts)
         | 
| 82 | 
            -
                          super(opts).merge( | 
| 69 | 
            +
                          super(opts).merge(attributes)
         | 
| 83 70 | 
             
                        end
         | 
| 84 71 | 
             
                      end
         | 
| 85 72 |  | 
| @@ -99,9 +86,9 @@ describe Looksist do | |
| 99 86 | 
             
                    expect(@mock).to receive(:get).once.with('employees/1').and_return('SuperStar')
         | 
| 100 87 | 
             
                    expect(@mock).to receive(:get).once.with('departments/2').and_return('Kollywood')
         | 
| 101 88 |  | 
| 102 | 
            -
                    e = InheritedLookUp::Manager.new(1, 2)
         | 
| 89 | 
            +
                    e = InheritedLookUp::Manager.new(id:1, department_id:2)
         | 
| 103 90 |  | 
| 104 | 
            -
                    expect(e.to_json).to eq("{\"department_name\":\"Kollywood\",\"name\":\"SuperStar\",\" | 
| 91 | 
            +
                    expect(e.to_json).to eq("{\"department_id\":2,\"id\":1,\"department_name\":\"Kollywood\",\"name\":\"SuperStar\",\"is_manager\":true}")
         | 
| 105 92 | 
             
                  end
         | 
| 106 93 | 
             
                end
         | 
| 107 94 |  | 
| @@ -164,17 +151,20 @@ describe Looksist do | |
| 164 151 | 
             
                        include Her::Model
         | 
| 165 152 | 
             
                        use_api TEST_API
         | 
| 166 153 | 
             
                        include Looksist
         | 
| 167 | 
            -
             | 
| 168 | 
            -
                        lookup :name, using: :employee_id
         | 
| 154 | 
            +
                        lookup :name, using: :id, bucket_name: 'employees'
         | 
| 169 155 |  | 
| 170 156 | 
             
                        def as_json(opts)
         | 
| 171 157 | 
             
                          super(opts)
         | 
| 172 158 | 
             
                        end
         | 
| 159 | 
            +
             | 
| 173 160 | 
             
                      end
         | 
| 174 161 | 
             
                    end
         | 
| 175 | 
            -
                    expect(@mock).to receive(:get). | 
| 176 | 
            -
                     | 
| 177 | 
            -
                     | 
| 162 | 
            +
                    expect(@mock).to receive(:get).once.with('employees/1').and_return('RajiniKanth')
         | 
| 163 | 
            +
                    expect(@mock).to receive(:get).never.with('employees/')
         | 
| 164 | 
            +
                    e1 = TolerantLookUp::Employee.new(id:1)
         | 
| 165 | 
            +
                    e2 = TolerantLookUp::Employee.new
         | 
| 166 | 
            +
                    expect(e1.to_json).to eq("{\"id\":1,\"name\":\"RajiniKanth\"}")
         | 
| 167 | 
            +
                    expect(e2.to_json).to eq('{}')
         | 
| 178 168 | 
             
                  end
         | 
| 179 169 | 
             
                end
         | 
| 180 170 |  | 
| @@ -185,22 +175,17 @@ describe Looksist do | |
| 185 175 | 
             
                        include Her::Model
         | 
| 186 176 | 
             
                        use_api TEST_API
         | 
| 187 177 | 
             
                        include Looksist
         | 
| 188 | 
            -
                        attr_accessor :id
         | 
| 189 178 | 
             
                        lookup :name, using: :id, bucket_name: 'employees', as: {name: 'nome'}
         | 
| 190 179 |  | 
| 191 | 
            -
                        def initialize(id)
         | 
| 192 | 
            -
                          @id = id
         | 
| 193 | 
            -
                        end
         | 
| 194 | 
            -
             | 
| 195 180 | 
             
                        def as_json(opts)
         | 
| 196 | 
            -
                          super(opts).merge( | 
| 181 | 
            +
                          super(opts).merge(attributes)
         | 
| 197 182 | 
             
                        end
         | 
| 198 183 | 
             
                      end
         | 
| 199 184 | 
             
                    end
         | 
| 200 185 | 
             
                    expect(@mock).to receive(:get).once.with('employees/1').and_return('Rajini')
         | 
| 201 | 
            -
                    e = AliasLookup::Employee.new(1)
         | 
| 186 | 
            +
                    e = AliasLookup::Employee.new(id: 1)
         | 
| 202 187 | 
             
                    expect(e.nome).to eq('Rajini')
         | 
| 203 | 
            -
                    expect(e.to_json).to eq("{\"nome\":\"Rajini\" | 
| 188 | 
            +
                    expect(e.to_json).to eq("{\"id\":1,\"nome\":\"Rajini\"}")
         | 
| 204 189 | 
             
                  end
         | 
| 205 190 |  | 
| 206 191 | 
             
                  it 'should fetch attributes and use the alias for specific attributes in the api' do
         | 
| @@ -209,23 +194,18 @@ describe Looksist do | |
| 209 194 | 
             
                        include Her::Model
         | 
| 210 195 | 
             
                        use_api TEST_API
         | 
| 211 196 | 
             
                        include Looksist
         | 
| 212 | 
            -
                        attr_accessor :id
         | 
| 213 197 | 
             
                        lookup [:name, :age], using: :id, as: {name: 'nome'}
         | 
| 214 198 |  | 
| 215 | 
            -
                        def initialize(id)
         | 
| 216 | 
            -
                          @id = id
         | 
| 217 | 
            -
                        end
         | 
| 218 | 
            -
             | 
| 219 199 | 
             
                        def as_json(opts)
         | 
| 220 | 
            -
                          super(opts).merge( | 
| 200 | 
            +
                          super(opts).merge(attributes)
         | 
| 221 201 | 
             
                        end
         | 
| 222 202 | 
             
                      end
         | 
| 223 203 | 
             
                    end
         | 
| 224 204 | 
             
                    expect(@mock).to receive(:get).once.with('ids/1').and_return({name: 'Rajini', age: 16}.to_json)
         | 
| 225 | 
            -
                    e = AliasSpecificLookup::Employee.new(1)
         | 
| 205 | 
            +
                    e = AliasSpecificLookup::Employee.new(id: 1)
         | 
| 226 206 | 
             
                    expect(e.nome).to eq('Rajini')
         | 
| 227 207 | 
             
                    expect(e.age).to eq(16)
         | 
| 228 | 
            -
                    expect(e.to_json).to eq("{\"nome\":\"Rajini\",\"age\":16 | 
| 208 | 
            +
                    expect(e.to_json).to eq("{\"id\":1,\"nome\":\"Rajini\",\"age\":16}")
         | 
| 229 209 | 
             
                  end
         | 
| 230 210 | 
             
                end
         | 
| 231 211 |  | 
| @@ -290,7 +270,6 @@ describe Looksist do | |
| 290 270 | 
             
                        lookup [:name, :location], using: :id
         | 
| 291 271 | 
             
                        lookup [:age, :sex], using: :employee_id
         | 
| 292 272 | 
             
                        lookup [:pager, :cell], using: :contact_id
         | 
| 293 | 
            -
             | 
| 294 273 | 
             
                        def initialize(id)
         | 
| 295 274 | 
             
                          @contact_id = @id = @employee_id = id
         | 
| 296 275 | 
             
                        end
         |