rms_web_service 0.1.0 → 0.1.1
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/README.md +6 -17
- data/lib/rms_web_service/response.rb +0 -8
- data/lib/rms_web_service/response/item.rb +3 -0
- data/lib/rms_web_service/response/item/delete.rb +8 -6
- data/lib/rms_web_service/response/item/error.rb +11 -0
- data/lib/rms_web_service/response/item/get.rb +8 -6
- data/lib/rms_web_service/response/item/insert.rb +8 -6
- data/lib/rms_web_service/response/item/items_update.rb +3 -5
- data/lib/rms_web_service/response/item/parser.rb +25 -0
- data/lib/rms_web_service/response/item/search.rb +8 -6
- data/lib/rms_web_service/response/item/status.rb +11 -0
- data/lib/rms_web_service/response/item/update.rb +8 -7
- data/lib/rms_web_service/version.rb +1 -1
- data/spec/fixtures/delete.xml +1 -8
- data/spec/fixtures/get.xml +2 -3
- data/spec/fixtures/update.xml +1 -9
- data/spec/rms_web_service/client/item_spec.rb +19 -58
- data/spec/rms_web_service/response/item/delete_spec.rb +7 -0
- data/spec/rms_web_service/response/item/error_spec.rb +8 -0
- data/spec/rms_web_service/response/item/get_spec.rb +8 -0
- data/spec/rms_web_service/response/item/insert_spec.rb +7 -0
- data/spec/rms_web_service/response/item/items_update_spec.rb +11 -0
- data/spec/rms_web_service/response/item/search_spec.rb +11 -0
- data/spec/rms_web_service/response/item/status_spec.rb +7 -0
- data/spec/rms_web_service/response/item/update_spec.rb +7 -0
- metadata +21 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b70010ad1562606d5dd76723f560721bfdea10da
         | 
| 4 | 
            +
              data.tar.gz: a080df81acd5d66b1d56d329d6a37661821eb161
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ba655891732259a65aeff28f41d57e8ca365482e52d0bcb8f63db4981bdb928ed8b1b2ac3e81471ae5113d7c4b6ee3f5768c0b48b255c0810a5bbc5be8ee8d71
         | 
| 7 | 
            +
              data.tar.gz: 2380655709d20276c6ac55894b9b19476816bb117cb16e761b305d111617a6e8c317a837387b9cbeb71e818b38747a27b5f9a6682e28fc1fcf49590cf0c8a858
         | 
    
        data/README.md
    CHANGED
    
    | @@ -41,16 +41,14 @@ client = RmsWebService::Client::Item.new(service_secret: "dummy_service_secret", | |
| 41 41 |  | 
| 42 42 | 
             
            RmsWebService::Client::ItemのインスタンスがAPIの各メソッドを持っています。パラメータを渡す場合はハッシュ、複数のItemを渡す場合は配列を使用します。
         | 
| 43 43 |  | 
| 44 | 
            -
            各メソッドのレスポンスがどのようなメソッドを持つかは公式ドキュメントをご覧ください。更新に失敗した場合のみ、`errorMessages`に設定されているエラー関係のメソッドをサポートします。
         | 
| 45 | 
            -
             | 
| 46 44 | 
             
            ```ruby
         | 
| 47 45 | 
             
            # item.get
         | 
| 48 46 | 
             
            item = client.get(:item_url => "ed-60c-w")
         | 
| 49 | 
            -
             | 
| 47 | 
            +
            # '.item_name'、'.item_price'等のメソッドを持ちます。属性については公式ドキュメントを見てください。
         | 
| 50 48 |  | 
| 51 49 | 
             
            # item.update
         | 
| 52 50 | 
             
            item = client.update({:item_url => "ed-60c-w", :item_price => 43800})
         | 
| 53 | 
            -
             | 
| 51 | 
            +
            # '.success?'で成功したかどうかを判別できます。'.errors'でエラー内容を確認できます。
         | 
| 54 52 |  | 
| 55 53 | 
             
            # item.insert
         | 
| 56 54 | 
             
            item = client.insert({
         | 
| @@ -59,31 +57,22 @@ item = client.insert({ | |
| 59 57 | 
             
              :item_price => "100000",
         | 
| 60 58 | 
             
              :genre_id => "211889",
         | 
| 61 59 | 
             
            })
         | 
| 62 | 
            -
             | 
| 60 | 
            +
            # '.success?'で成功したかどうかを判別できます。'.errors'でエラー内容を確認できます。
         | 
| 63 61 |  | 
| 64 62 | 
             
            # item.delete
         | 
| 65 63 | 
             
            item = client.delete(:item_url => "test001")
         | 
| 66 | 
            -
             | 
| 64 | 
            +
            # '.success?'で成功したかどうかを判別できます。'.errors'でエラー内容を確認できます。
         | 
| 67 65 |  | 
| 68 66 | 
             
            # item.search
         | 
| 69 67 | 
             
            items = client.search(:item_name => "空気清浄機")
         | 
| 70 | 
            -
             | 
| 71 | 
            -
              p item.item_name
         | 
| 72 | 
            -
            end
         | 
| 68 | 
            +
            # item.getと同じ性質のインスタンスを要素として持つ配列を返します
         | 
| 73 69 |  | 
| 74 70 | 
             
            # items.update
         | 
| 75 71 | 
             
            items = client.items_update([
         | 
| 76 72 | 
             
              {:item_url => "ed-60c-w", :item_price => 43800},
         | 
| 77 73 | 
             
              {:item_url => "noexist", :item_price => 10800}
         | 
| 78 74 | 
             
            ])
         | 
| 79 | 
            -
             | 
| 80 | 
            -
              if item.code == 'N000'
         | 
| 81 | 
            -
                p item.item_url # => "ed-60c-w" 
         | 
| 82 | 
            -
              else
         | 
| 83 | 
            -
                p item.error_id # => "335"
         | 
| 84 | 
            -
                p item.msg # => "商品管理番号欄(商品URL)で指定された商品が見つかりません。更新・変更、削除の場合は、存在する商品の商品管理番号(商品URL)をご指定ください。"
         | 
| 85 | 
            -
              end
         | 
| 86 | 
            -
            end
         | 
| 75 | 
            +
            # item.updateと同じ性質のインスタンスを要素として持つ配列を返します
         | 
| 87 76 | 
             
            ```
         | 
| 88 77 |  | 
| 89 78 | 
             
            ## Contributing
         | 
| @@ -2,13 +2,5 @@ require 'rms_web_service/response/item' | |
| 2 2 |  | 
| 3 3 | 
             
            module RmsWebService
         | 
| 4 4 | 
             
              module Response
         | 
| 5 | 
            -
                def set_attributes(args)
         | 
| 6 | 
            -
                  args.each {|s| set_attribute(s.name, s.content)}
         | 
| 7 | 
            -
                end
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                def set_attribute(name, content)
         | 
| 10 | 
            -
                  att = name.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase
         | 
| 11 | 
            -
                  self.define_singleton_method(att) {content}
         | 
| 12 | 
            -
                end
         | 
| 13 5 | 
             
              end
         | 
| 14 6 | 
             
            end
         | 
| @@ -1,3 +1,6 @@ | |
| 1 | 
            +
            require 'rms_web_service/response/item/parser'
         | 
| 2 | 
            +
            require 'rms_web_service/response/item/status'
         | 
| 3 | 
            +
            require 'rms_web_service/response/item/error'
         | 
| 1 4 | 
             
            require 'rms_web_service/response/item/get'
         | 
| 2 5 | 
             
            require 'rms_web_service/response/item/insert'
         | 
| 3 6 | 
             
            require 'rms_web_service/response/item/update'
         | 
| @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class Delete
         | 
| 5 | 
            -
                     | 
| 4 | 
            +
                  class Delete < Parser
         | 
| 5 | 
            +
                    attr_accessor :code, :errors
         | 
| 6 6 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                      set_attributes  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 7 | 
            +
                      super
         | 
| 8 | 
            +
                      set_attributes @parsed_xml.xpath("//item").children
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def success?
         | 
| 12 | 
            +
                      return @code == "N000" ? true : false
         | 
| 11 13 | 
             
                    end
         | 
| 12 14 | 
             
                  end
         | 
| 13 15 | 
             
                end
         | 
| @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class Get
         | 
| 5 | 
            -
                     | 
| 4 | 
            +
                  class Get < Parser
         | 
| 5 | 
            +
                    attr_accessor :code
         | 
| 6 6 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                      set_attributes  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 7 | 
            +
                      super
         | 
| 8 | 
            +
                      set_attributes @parsed_xml.xpath("//item").children
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def success?
         | 
| 12 | 
            +
                      return @code == "N000" ? true : false
         | 
| 11 13 | 
             
                    end
         | 
| 12 14 | 
             
                  end
         | 
| 13 15 | 
             
                end
         | 
| @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class Insert
         | 
| 5 | 
            -
                     | 
| 4 | 
            +
                  class Insert < Parser
         | 
| 5 | 
            +
                    attr_accessor :code, :errors
         | 
| 6 6 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                      set_attributes  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 7 | 
            +
                      super
         | 
| 8 | 
            +
                      set_attributes @parsed_xml.xpath("//item").children
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def success?
         | 
| 12 | 
            +
                      return @code == "N000" ? true : false
         | 
| 11 13 | 
             
                    end
         | 
| 12 14 | 
             
                  end
         | 
| 13 15 | 
             
                end
         | 
| @@ -1,12 +1,10 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class ItemsUpdate <  | 
| 5 | 
            -
                    include ::RmsWebService::Response
         | 
| 4 | 
            +
                  class ItemsUpdate < Parser
         | 
| 6 5 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                       | 
| 9 | 
            -
                      xml.xpath("//itemsUpdateResult").children.each {|item| self << Update.new(item.to_xml)}
         | 
| 6 | 
            +
                      super
         | 
| 7 | 
            +
                      @parsed_xml.xpath("//itemsUpdateResult").children.each {|item| self << Update.new(item.to_xml)}
         | 
| 10 8 | 
             
                    end
         | 
| 11 9 | 
             
                  end
         | 
| 12 10 | 
             
                end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module RmsWebService
         | 
| 2 | 
            +
              module Response
         | 
| 3 | 
            +
                module Item
         | 
| 4 | 
            +
                  class Parser < Array
         | 
| 5 | 
            +
                    attr_accessor :status
         | 
| 6 | 
            +
                    def initialize(xml)
         | 
| 7 | 
            +
                      @parsed_xml = Nokogiri::XML.parse(xml)
         | 
| 8 | 
            +
                      @status = Item::Status.new(xml)
         | 
| 9 | 
            +
                      @code = @parsed_xml.xpath("//code").first.content if @parsed_xml.xpath("//code").present?
         | 
| 10 | 
            +
                      @errors = []
         | 
| 11 | 
            +
                      @parsed_xml.xpath("//errorMessages").each {|error| @errors << Error.new(error)} if @parsed_xml.xpath("//errorMessages").present?
         | 
| 12 | 
            +
                    end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    def set_attributes(args)
         | 
| 15 | 
            +
                      args.each {|s| set_attribute(s.name, s.content)}
         | 
| 16 | 
            +
                    end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    def set_attribute(name, content)
         | 
| 19 | 
            +
                      att = name.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase
         | 
| 20 | 
            +
                      self.define_singleton_method(att) {content}
         | 
| 21 | 
            +
                    end
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class Search <  | 
| 5 | 
            -
                     | 
| 4 | 
            +
                  class Search < Parser
         | 
| 5 | 
            +
                    attr_accessor :code
         | 
| 6 6 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                       | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 7 | 
            +
                      super
         | 
| 8 | 
            +
                      @parsed_xml.xpath("//items").children.each {|item| self << Get.new(item.to_xml)}
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def success?
         | 
| 12 | 
            +
                      return @code == "200-00" ? true : false
         | 
| 11 13 | 
             
                    end
         | 
| 12 14 | 
             
                  end
         | 
| 13 15 | 
             
                end
         | 
| @@ -1,14 +1,15 @@ | |
| 1 1 | 
             
            module RmsWebService
         | 
| 2 2 | 
             
              module Response
         | 
| 3 3 | 
             
                module Item
         | 
| 4 | 
            -
                  class Update
         | 
| 5 | 
            -
                     | 
| 4 | 
            +
                  class Update < Parser
         | 
| 5 | 
            +
                    attr_accessor :code, :errors
         | 
| 6 6 | 
             
                    def initialize(xml)
         | 
| 7 | 
            -
                       | 
| 8 | 
            -
                      set_attributes  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 7 | 
            +
                      super
         | 
| 8 | 
            +
                      set_attributes @parsed_xml.xpath("//item").children
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def success?
         | 
| 12 | 
            +
                      return @code == "N000" ? true : false
         | 
| 12 13 | 
             
                    end
         | 
| 13 14 | 
             
                  end
         | 
| 14 15 | 
             
                end
         | 
    
        data/spec/fixtures/delete.xml
    CHANGED
    
    | @@ -8,14 +8,7 @@ | |
| 8 8 | 
             
                <requests/>
         | 
| 9 9 | 
             
              </status>
         | 
| 10 10 | 
             
              <itemDeleteResult>
         | 
| 11 | 
            -
                <code>code</code>
         | 
| 12 | 
            -
                <errorMessages>
         | 
| 13 | 
            -
                  <errorId>errorId</errorId>
         | 
| 14 | 
            -
                  <fieldId>fieldId</fieldId>
         | 
| 15 | 
            -
                  <msg>error message</msg>
         | 
| 16 | 
            -
                  <listIndex>1</listIndex>
         | 
| 17 | 
            -
                  <listIndex2>2</listIndex2>
         | 
| 18 | 
            -
                </errorMessages>
         | 
| 11 | 
            +
                <code>code</code><errorMessages><errorMessage><errorId>errorId</errorId><fieldId>fieldId</fieldId><msg>error message</msg><listIndex>1</listIndex><listIndex2>2</listIndex2></errorMessage></errorMessages>
         | 
| 19 12 | 
             
                <item>
         | 
| 20 13 | 
             
                  <itemUrl>yyy</itemUrl>
         | 
| 21 14 | 
             
                </item>
         | 
    
        data/spec/fixtures/get.xml
    CHANGED
    
    
    
        data/spec/fixtures/update.xml
    CHANGED
    
    | @@ -9,15 +9,7 @@ | |
| 9 9 | 
             
              </status>
         | 
| 10 10 | 
             
              <itemUpdateResult>
         | 
| 11 11 | 
             
                <code>code</code>
         | 
| 12 | 
            -
                <errorMessages>
         | 
| 13 | 
            -
                  <errorMessage>
         | 
| 14 | 
            -
                    <errorId>errorId</errorId>
         | 
| 15 | 
            -
                    <fieldId>fieldId</fieldId>
         | 
| 16 | 
            -
                    <msg>error message</msg>
         | 
| 17 | 
            -
                    <listIndex>1</listIndex>
         | 
| 18 | 
            -
                    <listIndex2>2</listIndex2>
         | 
| 19 | 
            -
                  </errorMessage>
         | 
| 20 | 
            -
                </errorMessages>
         | 
| 12 | 
            +
                <errorMessages><errorMessage><errorId>errorId</errorId><fieldId>fieldId</fieldId><msg>error message</msg><listIndex>1</listIndex><listIndex2>2</listIndex2></errorMessage></errorMessages>
         | 
| 21 13 | 
             
                <item>
         | 
| 22 14 | 
             
                  <itemUrl>yyy</itemUrl>
         | 
| 23 15 | 
             
                </item>
         | 
| @@ -21,102 +21,63 @@ describe RmsWebService::Client::Item do | |
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 23 | 
             
              describe '.get' do
         | 
| 24 | 
            -
                let(:api) {client.get(:item_url => 'test001')}
         | 
| 25 24 | 
             
                before do
         | 
| 26 25 | 
             
                  stub_request(:get, "https://api.rms.rakuten.co.jp/es/1.0/item/get?itemUrl=test001")
         | 
| 27 26 | 
             
                  .to_return(:status => 200, body: fixture('get.xml'))
         | 
| 28 27 | 
             
                end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                it  | 
| 31 | 
            -
                  expect(api).to be_a RmsWebService::Response::Item::Get
         | 
| 32 | 
            -
                  expect(api.respond_to?(:code)).to be_truthy
         | 
| 33 | 
            -
                  expect(api.respond_to?(:system_status)).to be_truthy
         | 
| 34 | 
            -
                  expect(api.respond_to?(:item_url)).to be_truthy
         | 
| 35 | 
            -
                end
         | 
| 28 | 
            +
                subject {client.get(:item_url => 'test001')}
         | 
| 29 | 
            +
                it {is_expected.to be_a RWS::Response::Item::Get}
         | 
| 36 30 | 
             
              end
         | 
| 37 31 |  | 
| 38 32 | 
             
              describe '.delete' do
         | 
| 39 | 
            -
                let(:api) {client.delete(:item_url => 'test001')}
         | 
| 40 33 | 
             
                before do
         | 
| 41 34 | 
             
                  stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/delete")
         | 
| 42 35 | 
             
                  .to_return(:status => 200, body: fixture('delete.xml'))
         | 
| 43 36 | 
             
                end
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                it  | 
| 46 | 
            -
                  expect(api).to be_a RmsWebService::Response::Item::Delete
         | 
| 47 | 
            -
                  expect(api.respond_to?(:code)).to be_truthy
         | 
| 48 | 
            -
                  expect(api.respond_to?(:system_status)).to be_truthy
         | 
| 49 | 
            -
                  expect(api.respond_to?(:item_url)).to be_truthy
         | 
| 50 | 
            -
                end
         | 
| 37 | 
            +
                subject {client.delete(:item_url => 'test001')}
         | 
| 38 | 
            +
                it {is_expected.to be_a RWS::Response::Item::Delete}
         | 
| 51 39 | 
             
              end
         | 
| 52 40 |  | 
| 53 41 | 
             
              describe '.insert' do
         | 
| 54 | 
            -
                let(:api) {client.insert({
         | 
| 55 | 
            -
                  :item_url => 'test001',
         | 
| 56 | 
            -
                  :item_name => 'test001',
         | 
| 57 | 
            -
                  :genre_id => '560420'
         | 
| 58 | 
            -
                })}
         | 
| 59 42 | 
             
                before do
         | 
| 60 43 | 
             
                  stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/insert")
         | 
| 61 44 | 
             
                  .to_return(:status => 200, body: fixture('insert.xml'))
         | 
| 62 45 | 
             
                end
         | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
                   | 
| 66 | 
            -
                   | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
                end
         | 
| 46 | 
            +
                subject {client.insert({
         | 
| 47 | 
            +
                  :item_url => 'test001',
         | 
| 48 | 
            +
                  :item_name => 'test001',
         | 
| 49 | 
            +
                  :genre_id => '560420'
         | 
| 50 | 
            +
                })}
         | 
| 51 | 
            +
                it {is_expected.to be_a RWS::Response::Item::Insert}
         | 
| 70 52 | 
             
              end
         | 
| 71 53 |  | 
| 72 54 | 
             
              describe '.update' do
         | 
| 73 | 
            -
                let(:api) {client.update({:item_url => 'test001', :item_price => '10000'})}
         | 
| 74 55 | 
             
                before do
         | 
| 75 56 | 
             
                  stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/update")
         | 
| 76 57 | 
             
                  .to_return(:status => 200, body: fixture('update.xml'))
         | 
| 77 58 | 
             
                end
         | 
| 78 | 
            -
             | 
| 79 | 
            -
                it  | 
| 80 | 
            -
                  expect(api).to be_a RmsWebService::Response::Item::Update
         | 
| 81 | 
            -
                  expect(api.respond_to?(:code)).to be_truthy
         | 
| 82 | 
            -
                  expect(api.respond_to?(:system_status)).to be_truthy
         | 
| 83 | 
            -
                  expect(api.respond_to?(:item_url)).to be_truthy
         | 
| 84 | 
            -
                  expect(api.respond_to?(:error_id)).to be_truthy
         | 
| 85 | 
            -
                end
         | 
| 59 | 
            +
                subject {client.update({:item_url => 'test001', :item_price => '10000'})}
         | 
| 60 | 
            +
                it {is_expected.to be_a RWS::Response::Item::Update}
         | 
| 86 61 | 
             
              end
         | 
| 87 62 |  | 
| 88 63 | 
             
              describe '.search' do
         | 
| 89 | 
            -
                let(:api) {client.search(:item_name => 'test001', :item_price_from => 1)}
         | 
| 90 64 | 
             
                before do
         | 
| 91 65 | 
             
                  stub_request(:get, "https://api.rms.rakuten.co.jp/es/1.0/item/search?itemName=test001&itemPriceFrom=1")
         | 
| 92 66 | 
             
                  .to_return(:status => 200, body: fixture('search.xml'))
         | 
| 93 67 | 
             
                end
         | 
| 94 | 
            -
             | 
| 95 | 
            -
                it  | 
| 96 | 
            -
                  expect(api).to be_a RmsWebService::Response::Item::Search
         | 
| 97 | 
            -
                  expect(api[0]).to be_a RmsWebService::Response::Item::Get
         | 
| 98 | 
            -
                  expect(api.respond_to?(:code)).to be_truthy
         | 
| 99 | 
            -
                  expect(api.respond_to?(:system_status)).to be_truthy
         | 
| 100 | 
            -
                  expect(api[0].respond_to?(:item_url)).to be_truthy
         | 
| 101 | 
            -
                end
         | 
| 68 | 
            +
                subject {client.search(:item_name => 'test001', :item_price_from => 1)}
         | 
| 69 | 
            +
                it {is_expected.to be_a RWS::Response::Item::Search}
         | 
| 102 70 | 
             
              end
         | 
| 103 71 |  | 
| 104 72 | 
             
              describe '.items_update' do
         | 
| 105 | 
            -
                let(:api) {client.items_update([
         | 
| 106 | 
            -
                  {:item_url => 'test001', :item_price => 100},
         | 
| 107 | 
            -
                  {:item_url => 'test002', :item_price => 200}
         | 
| 108 | 
            -
                ])}
         | 
| 109 73 | 
             
                before do
         | 
| 110 74 | 
             
                  stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/items/update")
         | 
| 111 75 | 
             
                  .to_return(:status => 200, body: fixture('items_update.xml'))
         | 
| 112 76 | 
             
                end
         | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
                   | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 118 | 
            -
                  expect(api[0].respond_to?(:item_url)).to be_truthy
         | 
| 119 | 
            -
                  expect(api[0].respond_to?(:code)).to be_truthy
         | 
| 120 | 
            -
                end
         | 
| 77 | 
            +
                subject {client.items_update([
         | 
| 78 | 
            +
                  {:item_url => 'test001', :item_price => 100},
         | 
| 79 | 
            +
                  {:item_url => 'test002', :item_price => 200}
         | 
| 80 | 
            +
                ])}
         | 
| 81 | 
            +
                it {is_expected.to be_a RWS::Response::Item::ItemsUpdate}
         | 
| 121 82 | 
             
              end
         | 
| 122 83 | 
             
            end
         | 
| @@ -0,0 +1,8 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
            require 'rms_web_service'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            describe RmsWebService::Response::Item::Get do
         | 
| 5 | 
            +
              subject {described_class.new(fixture('get.xml'))}
         | 
| 6 | 
            +
              it {is_expected.to respond_to(:status, :code, :success?, :item_url, :item_name, :item_price)}
         | 
| 7 | 
            +
              it {is_expected.not_to respond_to(:errors)}
         | 
| 8 | 
            +
            end
         | 
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
            require 'rms_web_service'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            describe RmsWebService::Response::Item::ItemsUpdate do
         | 
| 5 | 
            +
              subject(:res) {described_class.new(fixture('items_update.xml'))}
         | 
| 6 | 
            +
              it {is_expected.to respond_to(:status)}
         | 
| 7 | 
            +
              it {is_expected.to_not respond_to(:code, :success?, :errors, :item_url)}
         | 
| 8 | 
            +
              it 'should be an array of RWS::Response::Item::Update' do
         | 
| 9 | 
            +
                expect(res[0]).to be_a RWS::Response::Item::Update
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
            require 'rms_web_service'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            describe RmsWebService::Response::Item::Search do
         | 
| 5 | 
            +
              subject(:res) {described_class.new(fixture('search.xml'))}
         | 
| 6 | 
            +
              it {is_expected.to respond_to(:status, :success?, :code)}
         | 
| 7 | 
            +
              it {is_expected.to_not respond_to(:item_url, :errors)}
         | 
| 8 | 
            +
              it 'should be an array of RWS::Response::Item::Get' do
         | 
| 9 | 
            +
                expect(res[0]).to be_a RWS::Response::Item::Get
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rms_web_service
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - kamiya54
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-09- | 
| 11 | 
            +
            date: 2014-09-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: faraday
         | 
| @@ -144,10 +144,13 @@ files: | |
| 144 144 | 
             
            - lib/rms_web_service/response.rb
         | 
| 145 145 | 
             
            - lib/rms_web_service/response/item.rb
         | 
| 146 146 | 
             
            - lib/rms_web_service/response/item/delete.rb
         | 
| 147 | 
            +
            - lib/rms_web_service/response/item/error.rb
         | 
| 147 148 | 
             
            - lib/rms_web_service/response/item/get.rb
         | 
| 148 149 | 
             
            - lib/rms_web_service/response/item/insert.rb
         | 
| 149 150 | 
             
            - lib/rms_web_service/response/item/items_update.rb
         | 
| 151 | 
            +
            - lib/rms_web_service/response/item/parser.rb
         | 
| 150 152 | 
             
            - lib/rms_web_service/response/item/search.rb
         | 
| 153 | 
            +
            - lib/rms_web_service/response/item/status.rb
         | 
| 151 154 | 
             
            - lib/rms_web_service/response/item/update.rb
         | 
| 152 155 | 
             
            - lib/rms_web_service/version.rb
         | 
| 153 156 | 
             
            - rms_web_service.gemspec
         | 
| @@ -160,6 +163,14 @@ files: | |
| 160 163 | 
             
            - spec/fixtures/update.xml
         | 
| 161 164 | 
             
            - spec/rms_web_service/client/item_spec.rb
         | 
| 162 165 | 
             
            - spec/rms_web_service/configuration_spec.rb
         | 
| 166 | 
            +
            - spec/rms_web_service/response/item/delete_spec.rb
         | 
| 167 | 
            +
            - spec/rms_web_service/response/item/error_spec.rb
         | 
| 168 | 
            +
            - spec/rms_web_service/response/item/get_spec.rb
         | 
| 169 | 
            +
            - spec/rms_web_service/response/item/insert_spec.rb
         | 
| 170 | 
            +
            - spec/rms_web_service/response/item/items_update_spec.rb
         | 
| 171 | 
            +
            - spec/rms_web_service/response/item/search_spec.rb
         | 
| 172 | 
            +
            - spec/rms_web_service/response/item/status_spec.rb
         | 
| 173 | 
            +
            - spec/rms_web_service/response/item/update_spec.rb
         | 
| 163 174 | 
             
            - spec/rms_web_service_spec.rb
         | 
| 164 175 | 
             
            - spec/spec_helper.rb
         | 
| 165 176 | 
             
            homepage: https://github.com/kamiya54/rms_web_service
         | 
| @@ -196,5 +207,13 @@ test_files: | |
| 196 207 | 
             
            - spec/fixtures/update.xml
         | 
| 197 208 | 
             
            - spec/rms_web_service/client/item_spec.rb
         | 
| 198 209 | 
             
            - spec/rms_web_service/configuration_spec.rb
         | 
| 210 | 
            +
            - spec/rms_web_service/response/item/delete_spec.rb
         | 
| 211 | 
            +
            - spec/rms_web_service/response/item/error_spec.rb
         | 
| 212 | 
            +
            - spec/rms_web_service/response/item/get_spec.rb
         | 
| 213 | 
            +
            - spec/rms_web_service/response/item/insert_spec.rb
         | 
| 214 | 
            +
            - spec/rms_web_service/response/item/items_update_spec.rb
         | 
| 215 | 
            +
            - spec/rms_web_service/response/item/search_spec.rb
         | 
| 216 | 
            +
            - spec/rms_web_service/response/item/status_spec.rb
         | 
| 217 | 
            +
            - spec/rms_web_service/response/item/update_spec.rb
         | 
| 199 218 | 
             
            - spec/rms_web_service_spec.rb
         | 
| 200 219 | 
             
            - spec/spec_helper.rb
         |