recomiendo 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.
- data/README.md +43 -0
- data/Rakefile +41 -0
- data/lib/recomiendo.rb +13 -0
- data/lib/recomiendo/account.rb +11 -0
- data/lib/recomiendo/client.rb +43 -0
- data/lib/recomiendo/link.rb +15 -0
- data/lib/recomiendo/reward.rb +38 -0
- data/lib/recomiendo/version.rb +4 -0
- data/recomiendo.gemspec +35 -0
- metadata +105 -0
data/README.md
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+

|
2
|
+
======
|
3
|
+
|
4
|
+
Recomiendo es una capa para la API de http://recomien.do
|
5
|
+
|
6
|
+
## Instalación
|
7
|
+
|
8
|
+
Recomiendo está disponible como una gema, para instalarlo sólo tienes que instalar la gema:
|
9
|
+
|
10
|
+
gem install recomiendo
|
11
|
+
|
12
|
+
Si estás utilizando Bundler, añade la gema al Gemfile.
|
13
|
+
|
14
|
+
gem 'recomiendo'
|
15
|
+
|
16
|
+
Corre `bundle install`.
|
17
|
+
|
18
|
+
## Uso Básico
|
19
|
+
|
20
|
+
Primero debe debes crear un objeto Cliente.
|
21
|
+
``` ruby
|
22
|
+
client = Recomiendo.new(key, secret)
|
23
|
+
```
|
24
|
+
|
25
|
+
### Cuentas
|
26
|
+
|
27
|
+
``` ruby
|
28
|
+
client.accounts.create(email: 'mi@email.com')
|
29
|
+
```
|
30
|
+
|
31
|
+
### Links
|
32
|
+
|
33
|
+
``` ruby
|
34
|
+
client.links.create(url: 'http://www.alguna_url.com')
|
35
|
+
client.links.all
|
36
|
+
```
|
37
|
+
|
38
|
+
### Rewards
|
39
|
+
|
40
|
+
``` ruby
|
41
|
+
client.rewards.create(visit_id: '8eb5636410e00e0f54f975b19416c787', amount: 1.00, earned_on: '2012-07-23', payable_on: '2012-07-24')
|
42
|
+
client.rewards.all
|
43
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rake'
|
5
|
+
|
6
|
+
begin
|
7
|
+
gem 'rubygems-tasks', '~> 0.2'
|
8
|
+
require 'rubygems/tasks'
|
9
|
+
|
10
|
+
Gem::Tasks.new
|
11
|
+
rescue LoadError => e
|
12
|
+
warn e.message
|
13
|
+
warn "Run `gem install rubygems-tasks` to install Gem::Tasks."
|
14
|
+
end
|
15
|
+
|
16
|
+
begin
|
17
|
+
gem 'rdoc', '~> 3.0'
|
18
|
+
require 'rdoc/task'
|
19
|
+
|
20
|
+
RDoc::Task.new do |rdoc|
|
21
|
+
rdoc.title = "recomiendo"
|
22
|
+
end
|
23
|
+
rescue LoadError => e
|
24
|
+
warn e.message
|
25
|
+
warn "Run `gem install rdoc` to install 'rdoc/task'."
|
26
|
+
end
|
27
|
+
task :doc => :rdoc
|
28
|
+
|
29
|
+
begin
|
30
|
+
gem 'rspec', '~> 2.4'
|
31
|
+
require 'rspec/core/rake_task'
|
32
|
+
|
33
|
+
RSpec::Core::RakeTask.new
|
34
|
+
rescue LoadError => e
|
35
|
+
task :spec do
|
36
|
+
abort "Please run `gem install rspec` to install RSpec."
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
task :test => :spec
|
41
|
+
task :default => :spec
|
data/lib/recomiendo.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'recomiendo/version'
|
2
|
+
require 'recomiendo/client'
|
3
|
+
require 'recomiendo/account'
|
4
|
+
require 'recomiendo/link'
|
5
|
+
require 'recomiendo/reward'
|
6
|
+
|
7
|
+
module Recomiendo
|
8
|
+
class << self
|
9
|
+
def new(key, secret)
|
10
|
+
Recomiendo::Client.new(key, secret)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
|
3
|
+
module Recomiendo
|
4
|
+
class Client
|
5
|
+
include HTTParty
|
6
|
+
base_uri 'https://recomien.do/api'
|
7
|
+
ssl_version :SSLv3
|
8
|
+
headers 'Accept' => 'application/vnd.recomiendo.v1'
|
9
|
+
|
10
|
+
|
11
|
+
def initialize(key, secret)
|
12
|
+
@auth = { username: key, password: secret }
|
13
|
+
end
|
14
|
+
|
15
|
+
def post(path, params)
|
16
|
+
self.class.post(path, body: params, basic_auth: @auth)
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(path, params)
|
20
|
+
self.class.get(path, query: params, basic_auth: @auth)
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(path)
|
24
|
+
self.class.delete(path, basic_auth: @auth)
|
25
|
+
end
|
26
|
+
|
27
|
+
def put(path, params)
|
28
|
+
self.class.put(path, body: params, basic_auth: @auth)
|
29
|
+
end
|
30
|
+
|
31
|
+
def accounts
|
32
|
+
Recomiendo::Account.new(self)
|
33
|
+
end
|
34
|
+
|
35
|
+
def links
|
36
|
+
Recomiendo::Link.new(self)
|
37
|
+
end
|
38
|
+
|
39
|
+
def rewards
|
40
|
+
Recomiendo::Reward.new(self)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Recomiendo
|
2
|
+
class Reward
|
3
|
+
def initialize(client)
|
4
|
+
@client = client
|
5
|
+
end
|
6
|
+
|
7
|
+
def all(params={})
|
8
|
+
@client.get('/rewards', params).parsed_response
|
9
|
+
end
|
10
|
+
|
11
|
+
def create(params={})
|
12
|
+
if params.class != String and params.class != Integer
|
13
|
+
params[:earned_on] ||= Time.now.strftime('%F')
|
14
|
+
params[:payable_on] ||= (Time.now + 2592000).strftime('%F')
|
15
|
+
|
16
|
+
@client.post('/rewards', params).parsed_response
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def delete(params={})
|
21
|
+
#begin
|
22
|
+
if params.has_key?(:reward_id)
|
23
|
+
@client.delete("/rewards/#{params[:reward_id]}").parsed_response
|
24
|
+
else
|
25
|
+
puts "Insufficient parameters: reward_id"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def update(params={})
|
30
|
+
if params.has_key?(:reward_id)
|
31
|
+
@client.put("/rewards/#{params[:reward_id]}", params).parsed_response
|
32
|
+
else
|
33
|
+
puts "Insufficient parameters: reward_id"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
data/recomiendo.gemspec
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
require File.expand_path('../lib/recomiendo/version', __FILE__)
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.name = "recomiendo"
|
7
|
+
gem.version = Recomiendo::VERSION
|
8
|
+
gem.summary = %q{Recomiendo API wrapper}
|
9
|
+
gem.description = %q{A Ruby wrapper for the Recomiendo API.}
|
10
|
+
gem.license = "MIT"
|
11
|
+
gem.authors = ["Cesar Gutierrez Bartra"]
|
12
|
+
gem.email = "cesar@gutierrez.pe"
|
13
|
+
gem.homepage = "http://recomien.do"
|
14
|
+
|
15
|
+
#gem.files = `git ls-files`.split($/)
|
16
|
+
gem.files = [
|
17
|
+
'README.md',
|
18
|
+
'recomiendo.gemspec',
|
19
|
+
'Rakefile',
|
20
|
+
'lib/recomiendo.rb',
|
21
|
+
'lib/recomiendo/client.rb',
|
22
|
+
'lib/recomiendo/account.rb',
|
23
|
+
'lib/recomiendo/link.rb',
|
24
|
+
'lib/recomiendo/reward.rb',
|
25
|
+
'lib/recomiendo/version.rb'
|
26
|
+
]
|
27
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
28
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
29
|
+
gem.require_paths = ['lib']
|
30
|
+
|
31
|
+
gem.add_development_dependency 'rdoc', '~> 3.0'
|
32
|
+
gem.add_development_dependency 'rspec', '~> 2.4'
|
33
|
+
gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
34
|
+
gem.add_runtime_dependency 'httparty', '>=0.9.0'
|
35
|
+
end
|
metadata
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: recomiendo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Cesar Gutierrez Bartra
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2013-02-26 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rdoc
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "3.0"
|
24
|
+
type: :development
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "2.4"
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rubygems-tasks
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0.2"
|
46
|
+
type: :development
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: httparty
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.9.0
|
57
|
+
type: :runtime
|
58
|
+
version_requirements: *id004
|
59
|
+
description: A Ruby wrapper for the Recomiendo API.
|
60
|
+
email: cesar@gutierrez.pe
|
61
|
+
executables: []
|
62
|
+
|
63
|
+
extensions: []
|
64
|
+
|
65
|
+
extra_rdoc_files: []
|
66
|
+
|
67
|
+
files:
|
68
|
+
- README.md
|
69
|
+
- recomiendo.gemspec
|
70
|
+
- Rakefile
|
71
|
+
- lib/recomiendo.rb
|
72
|
+
- lib/recomiendo/client.rb
|
73
|
+
- lib/recomiendo/account.rb
|
74
|
+
- lib/recomiendo/link.rb
|
75
|
+
- lib/recomiendo/reward.rb
|
76
|
+
- lib/recomiendo/version.rb
|
77
|
+
homepage: http://recomien.do
|
78
|
+
licenses:
|
79
|
+
- MIT
|
80
|
+
post_install_message:
|
81
|
+
rdoc_options: []
|
82
|
+
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: "0"
|
91
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: "0"
|
97
|
+
requirements: []
|
98
|
+
|
99
|
+
rubyforge_project:
|
100
|
+
rubygems_version: 1.8.24
|
101
|
+
signing_key:
|
102
|
+
specification_version: 3
|
103
|
+
summary: Recomiendo API wrapper
|
104
|
+
test_files: []
|
105
|
+
|