lomadee 0.0.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 +7 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +40 -0
- data/README.rdoc +28 -0
- data/lib/lomadee.rb +6 -0
- data/lib/lomadee/base.rb +59 -0
- data/lib/lomadee/version.rb +3 -0
- data/lomadee.gemspec +25 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f1f6d5f0654e9c17f98492248a370547c996d905
|
4
|
+
data.tar.gz: 8c95afdf52adb44a8a342ec3dd0a5928edd63c22
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bae6c5f0d91597f9f8904dbc08d1ef073adc4d40347b2df1756bb14b780ce4f0cb850231fc97b2cac344f13a17ed881fb22a15e6c7c2e2f5cbe4b0a8e3932e7a
|
7
|
+
data.tar.gz: ca571e85df7fcac0cbdc8e8b1de40b3cc65e9b0479138b53e064fb29fb443dbd7256bf6a0ae640e2295eee8e7f094631e2a028bc4feb15ddeb770961e895d1d9
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
lomadee (0.0.1)
|
5
|
+
httparty
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
awesome_print (1.2.0)
|
11
|
+
coderay (1.0.9)
|
12
|
+
diff-lcs (1.2.4)
|
13
|
+
httparty (0.11.0)
|
14
|
+
multi_json (~> 1.0)
|
15
|
+
multi_xml (>= 0.5.2)
|
16
|
+
method_source (0.8.2)
|
17
|
+
multi_json (1.8.0)
|
18
|
+
multi_xml (0.5.5)
|
19
|
+
pry (0.9.12.2)
|
20
|
+
coderay (~> 1.0.5)
|
21
|
+
method_source (~> 0.8)
|
22
|
+
slop (~> 3.4)
|
23
|
+
rspec (2.14.1)
|
24
|
+
rspec-core (~> 2.14.0)
|
25
|
+
rspec-expectations (~> 2.14.0)
|
26
|
+
rspec-mocks (~> 2.14.0)
|
27
|
+
rspec-core (2.14.5)
|
28
|
+
rspec-expectations (2.14.3)
|
29
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
30
|
+
rspec-mocks (2.14.3)
|
31
|
+
slop (3.4.6)
|
32
|
+
|
33
|
+
PLATFORMS
|
34
|
+
ruby
|
35
|
+
|
36
|
+
DEPENDENCIES
|
37
|
+
awesome_print
|
38
|
+
lomadee!
|
39
|
+
pry
|
40
|
+
rspec
|
data/README.rdoc
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
== Lomadee
|
2
|
+
|
3
|
+
This is the lightweight wrapper for Lomadee API. (http://developer.buscape.com/api/api-e-documentacao-lomadee)
|
4
|
+
|
5
|
+
= How to install?
|
6
|
+
|
7
|
+
Simple as:
|
8
|
+
|
9
|
+
gem install lomadee
|
10
|
+
|
11
|
+
= How to use?
|
12
|
+
|
13
|
+
First instantiate a new 'Lomadee::Base' object with two parameters (application_id, sandbox? (default: false)), for example:
|
14
|
+
|
15
|
+
lomadee = Lomadee::Base.new("you_application_id")
|
16
|
+
|
17
|
+
Then you can use like this:
|
18
|
+
|
19
|
+
lomadee.category(77).products
|
20
|
+
|
21
|
+
This get all products in the cellphone category. Or like this:
|
22
|
+
|
23
|
+
lomadee.keyword("Apple").products
|
24
|
+
|
25
|
+
This get all products using the keyword "Apple"
|
26
|
+
|
27
|
+
|
28
|
+
Help me improving this gem (and the documentation of course)! Fork this project and feel free to help. :)
|
data/lib/lomadee.rb
ADDED
data/lib/lomadee/base.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
module Lomadee
|
2
|
+
class Base
|
3
|
+
include HTTParty
|
4
|
+
|
5
|
+
def initialize(application_id, sandbox = false)
|
6
|
+
raise "You need to inform your :application_id" if application_id.nil?
|
7
|
+
|
8
|
+
@env = (sandbox) ? 'sandbox' : 'bws'
|
9
|
+
|
10
|
+
@application_id = application_id
|
11
|
+
|
12
|
+
@uris = {
|
13
|
+
:offers => "findOfferList",
|
14
|
+
:products => "findProductList",
|
15
|
+
:categories => "findCategoryList",
|
16
|
+
:create_link => "createLinks"
|
17
|
+
}
|
18
|
+
|
19
|
+
@params = {
|
20
|
+
:category => "categoryId",
|
21
|
+
:product => "productId",
|
22
|
+
:barcode => "barcode",
|
23
|
+
:keyword => "keyword"
|
24
|
+
}
|
25
|
+
|
26
|
+
@data = {}
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def method_missing(method, *args, &block)
|
32
|
+
if @uris.map {|v, k| v }.include? method
|
33
|
+
@data.merge!(args[0])
|
34
|
+
fetch_api(method)
|
35
|
+
else
|
36
|
+
@data.merge!({method => args[0]})
|
37
|
+
self
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def fetch_api(method)
|
42
|
+
raise "Method '#{method}' doesn't exist!" if @uris[method].empty?
|
43
|
+
|
44
|
+
@uris[method] = "viewSellerDetails" if method === :details && !@data[:seller].blank? && @data[:product].blank?
|
45
|
+
|
46
|
+
url = "http://#{@env}.buscape.com/service/#{@uris[method]}/lomadee/#{@application_id}/"
|
47
|
+
|
48
|
+
@data.each { |sym, value|
|
49
|
+
url += ((url[-1, 1] == "/") ? "?" : "&") + "#{(@params[sym].nil?) ? sym.to_s : @params[sym]}=#{value}"
|
50
|
+
}
|
51
|
+
|
52
|
+
uri_parser = URI::Parser.new
|
53
|
+
|
54
|
+
res = self.class.get(uri_parser.escape(url))
|
55
|
+
|
56
|
+
res.parsed_response["Result"] unless res.nil?
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lomadee.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "lomadee/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "lomadee"
|
6
|
+
s.version = Lomadee::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Bruno A. da Costa"]
|
9
|
+
s.email = ["brunoadacosta@gmail.com"]
|
10
|
+
s.homepage = "http://rubygems.org/gems/lomadee"
|
11
|
+
s.summary = "A lightweight Ruby wrapper for Buscapé API"
|
12
|
+
s.description = s.summary
|
13
|
+
s.license = 'MIT'
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split($\)
|
16
|
+
s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
|
20
|
+
s.add_dependency "httparty"
|
21
|
+
|
22
|
+
s.add_development_dependency "awesome_print"
|
23
|
+
s.add_development_dependency "pry"
|
24
|
+
s.add_development_dependency "rspec"
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lomadee
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Bruno A. da Costa
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-10-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: httparty
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: awesome_print
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: A lightweight Ruby wrapper for Buscapé API
|
70
|
+
email:
|
71
|
+
- brunoadacosta@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- Gemfile
|
77
|
+
- Gemfile.lock
|
78
|
+
- README.rdoc
|
79
|
+
- lib/lomadee.rb
|
80
|
+
- lib/lomadee/base.rb
|
81
|
+
- lib/lomadee/version.rb
|
82
|
+
- lomadee.gemspec
|
83
|
+
homepage: http://rubygems.org/gems/lomadee
|
84
|
+
licenses:
|
85
|
+
- MIT
|
86
|
+
metadata: {}
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubyforge_project:
|
103
|
+
rubygems_version: 2.1.6
|
104
|
+
signing_key:
|
105
|
+
specification_version: 4
|
106
|
+
summary: A lightweight Ruby wrapper for Buscapé API
|
107
|
+
test_files: []
|