rhogallery 0.0.1 → 0.1.0
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/Gemfile.lock +1 -1
- data/README.markdown +22 -22
- data/init.rb +1 -1
- data/lib/{rhogallery-api → rhogallery}/base.rb +6 -2
- data/lib/{rhogallery-api → rhogallery}/consumer.rb +8 -4
- data/lib/{rhogallery-api → rhogallery}/group.rb +7 -3
- data/lib/{rhogallery-api → rhogallery}/rho_gallery.rb +0 -0
- data/lib/rhogallery/version.rb +3 -0
- data/lib/rhogallery.rb +9 -0
- data/rhogallery.gemspec +1 -1
- data/spec/consumer_spec.rb +7 -7
- data/spec/group_spec.rb +6 -6
- data/spec/spec_helper.rb +1 -1
- metadata +10 -10
- data/lib/rhogallery-api/version.rb +0 -3
- data/lib/rhogallery-api.rb +0 -9
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -1,36 +1,36 @@
|
|
1
|
-
|
1
|
+
RhoGallery API
|
2
2
|
==================
|
3
|
-
##
|
3
|
+
##Getting Started
|
4
4
|
|
5
5
|
This is a ruby interface to connect with the rhohub rhogallery api.
|
6
6
|
|
7
7
|
$ gem install rhogallery
|
8
8
|
|
9
|
-
require 'rhogallery
|
9
|
+
require 'rhogallery'
|
10
10
|
|
11
|
-
##
|
11
|
+
##RhoGallery Credentials
|
12
12
|
|
13
|
-
First of all you need to set your
|
13
|
+
First of all you need to set your RhoGallery credentials (username and rhogallery token):
|
14
14
|
|
15
|
-
|
15
|
+
RhoGallery.credentials = {:username => YOUR_RHOHUB_USERNAME, :token => YOUR_RHOHUB_TOKEN}
|
16
16
|
|
17
17
|
Also, you can see your credentials any time with:
|
18
18
|
|
19
|
-
|
19
|
+
RhoGallery.credentials
|
20
20
|
=> {:username => YOUR_RHOHUB_USERNAME, :token => YOUR_RHOHUB_TOKEN}
|
21
21
|
|
22
|
-
##
|
22
|
+
##RhoGallery Resources
|
23
23
|
|
24
24
|
Then you have two classes that you can work with: `RhoGallery::Consumer` and `RhoGallery::Group`
|
25
25
|
|
26
|
-
|
26
|
+
RhoGallery # Rhogallery main module
|
27
27
|
|
28
28
|
RhoGallery::Consumer
|
29
29
|
RhoGallery::Group
|
30
30
|
|
31
|
-
|
32
|
-
update(data, options) #use this method to update data
|
33
|
-
delete(data, options) #to delete a consumer/group
|
31
|
+
create(data, options) # create a new consumer/group
|
32
|
+
update(data, options) # use this method to update data
|
33
|
+
delete(data, options) # to delete a consumer/group
|
34
34
|
|
35
35
|
* data: consumer or group data, for example: name, cell, login, email. By default takes the data hash takes the attributes
|
36
36
|
added when is creating the instance ( RhoGallery::Group.new( {:name => "some group name" }) ).
|
@@ -57,7 +57,7 @@ You can get all your consumers and groups like this:
|
|
57
57
|
|
58
58
|
or if you want to find a consumer/group by id you can do this:
|
59
59
|
|
60
|
-
RhoGallery::Consumer.
|
60
|
+
RhoGallery::Consumer.find("some_consumer_id")
|
61
61
|
=> {"name":"John Doe","devices":["ios","android","blackberry"],"deactivated_id":null,
|
62
62
|
"created_at":"2011-01-14T17:49:42Z","cell":"+555555",
|
63
63
|
"updated_at":"2011-06-21T21:14:12Z",
|
@@ -65,7 +65,7 @@ or if you want to find a consumer/group by id you can do this:
|
|
65
65
|
"login":"john","invited":true,
|
66
66
|
"email":"john@doe.com","active":true}
|
67
67
|
|
68
|
-
RhoGallery::Group.
|
68
|
+
RhoGallery::Group.find("some_group_id")
|
69
69
|
=> {"name":"rhomobile","created_at":"2011-01-14T15:37:42Z","updated_at":"2011-01-14T15:37:42Z",
|
70
70
|
"id":"4d306dc697fcc274a6000009","active":true}
|
71
71
|
|
@@ -78,22 +78,22 @@ You can create new groups and consumers with your own attributes and then save i
|
|
78
78
|
})
|
79
79
|
=> #<RhoGallery::Consumer:0x1018881a8 @attributes={:login => "some_login", :name => "some name", :cell => "+55555", :email => "email@email.com"}>
|
80
80
|
|
81
|
-
consumer.
|
81
|
+
consumer.save
|
82
82
|
=> true
|
83
83
|
|
84
84
|
group = RhoGallery::Group.new({:name => "new_group_name"})
|
85
85
|
=> #<RhoGallery::Group:0x1018881b6 @attributes={:name=>"new_group_name"}>
|
86
86
|
|
87
|
-
group.
|
87
|
+
group.save
|
88
88
|
=> true
|
89
89
|
|
90
|
-
or send
|
90
|
+
or send the data directly when `create` method is called
|
91
91
|
|
92
92
|
consumer = RhoGallery::Consumer.new
|
93
93
|
=> #<RhoGallery::Consumer:0x1018881a8 @attributes={:cell=>"+55555", :email=>"email@email.com",
|
94
94
|
:login=>"some_login",:tags=>"", :password=>"", :name=>"hello", :id=>"4e60ffd4bdd0c8048c000001"}>
|
95
95
|
|
96
|
-
consumer.
|
96
|
+
consumer.create({
|
97
97
|
:login => "some_login", :name => "some name", :cell => "+55555", :email => "email@email.com"
|
98
98
|
})
|
99
99
|
=> true
|
@@ -102,7 +102,7 @@ or send it the data on the `create_new` method is called
|
|
102
102
|
|
103
103
|
Also you can update your consumers and groups fields with the `update`
|
104
104
|
|
105
|
-
consumer = RhoGallery::Consumer.
|
105
|
+
consumer = RhoGallery::Consumer.find("4e60ffd4bdd0c8048c000001")
|
106
106
|
=> #<RhoGallery::Consumer:0x1018881a8 @attributes={:cell=>"some_cell_phone", :invited=>false, :email=>"email@email.com",
|
107
107
|
:login=>"some_login",:tags=>"", :password=>"", :name=>"hello", :id=>"4e60ffd4bdd0c8048c000001"}>
|
108
108
|
|
@@ -114,7 +114,7 @@ Also you can update your consumers and groups fields with the `update`
|
|
114
114
|
|
115
115
|
and you can delete it too :)
|
116
116
|
|
117
|
-
consumer = RhoGallery::Consumer.
|
117
|
+
consumer = RhoGallery::Consumer.find("4e60ffd4bdd0c8048c000001")
|
118
118
|
=> #<RhoGallery::Consumer:0x1018881a8 @attributes={:cell=>"new cell phone", :invited=>false, :email=>"email@email.com",
|
119
119
|
:login=>"new_login",:tags=>"", :password=>"", :name=>"hello", :id=>"4e60ffd4bdd0c8048c000001"}>
|
120
120
|
|
@@ -123,11 +123,11 @@ and you can delete it too :)
|
|
123
123
|
|
124
124
|
##See Errors
|
125
125
|
|
126
|
-
|
126
|
+
You can see the errors when the `create` and `update` methods return false, using the errors method. For example:
|
127
127
|
|
128
128
|
group = RhoGallery::Group.new
|
129
129
|
=> #<RhoGallery::Group:0x1018881c7 @attributes={:name => ""}>
|
130
|
-
group.
|
130
|
+
group.save
|
131
131
|
=> false
|
132
132
|
|
133
133
|
group.errors
|
data/init.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'rhogallery
|
1
|
+
require 'rhogallery'
|
@@ -19,7 +19,7 @@ class RhoGallery::Base
|
|
19
19
|
@attributes
|
20
20
|
end
|
21
21
|
|
22
|
-
def
|
22
|
+
def create(data, options, resource)
|
23
23
|
begin
|
24
24
|
RestClient.post RhoGallery.resource_url(options[:username], resource), data, {:Authorization => options[:token]}
|
25
25
|
@errors = String.new
|
@@ -46,12 +46,16 @@ class RhoGallery::Base
|
|
46
46
|
true
|
47
47
|
end
|
48
48
|
|
49
|
+
def save(data, options, resource)
|
50
|
+
self.id ? update(data, options, "#{resource}/#{self.id}") : create(data, options, resource)
|
51
|
+
end
|
52
|
+
|
49
53
|
def self.find_all(options, resource)
|
50
54
|
res = RestClient::Resource.new(RhoGallery.resource_url(options[:username], "#{resource}"), :headers => {:Authorization => options[:token]})
|
51
55
|
JSON.parse res.get
|
52
56
|
end
|
53
57
|
|
54
|
-
def self.
|
58
|
+
def self.find(id, options, resource)
|
55
59
|
res = RestClient::Resource.new(RhoGallery.resource_url(options[:username], "#{resource}/#{id}"), :headers => {:Authorization => options[:token]})
|
56
60
|
JSON.parse res.get
|
57
61
|
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
class RhoGallery::Consumer < RhoGallery::Base
|
2
2
|
|
3
|
-
def
|
3
|
+
def create(data = @attributes, options = RhoGallery.credentials, resource = "consumers")
|
4
|
+
super(data, options, resource)
|
5
|
+
end
|
6
|
+
|
7
|
+
def save(data = @attributes, options = RhoGallery.credentials, resource = "consumers")
|
4
8
|
super(data, options, resource)
|
5
9
|
end
|
6
10
|
|
7
11
|
def update(data = @attributes, options = RhoGallery.credentials, resource = "consumers/#{self.id}")
|
8
12
|
if super(data, options, resource)
|
9
|
-
@attributes = RhoGallery::Consumer::
|
13
|
+
@attributes = RhoGallery::Consumer::find(self.id, options).get_attributes
|
10
14
|
self
|
11
15
|
else
|
12
16
|
false
|
@@ -17,8 +21,8 @@ class RhoGallery::Consumer < RhoGallery::Base
|
|
17
21
|
super(options, resource)
|
18
22
|
end
|
19
23
|
|
20
|
-
def self.
|
21
|
-
consumer = RhoGallery::Base.
|
24
|
+
def self.find(id = "", options = RhoGallery.credentials)
|
25
|
+
consumer = RhoGallery::Base.find(id, options, "consumers")
|
22
26
|
RhoGallery::Consumer.new(RhoGallery.prepare_hash(consumer))
|
23
27
|
end
|
24
28
|
|
@@ -1,6 +1,10 @@
|
|
1
1
|
class RhoGallery::Group < RhoGallery::Base
|
2
2
|
|
3
|
-
def
|
3
|
+
def create(data = @attributes, options = RhoGallery.credentials, resource = "groups")
|
4
|
+
super(data, options, resource)
|
5
|
+
end
|
6
|
+
|
7
|
+
def save(data = @attributes, options = RhoGallery.credentials, resource = "groups")
|
4
8
|
super(data, options, resource)
|
5
9
|
end
|
6
10
|
|
@@ -17,8 +21,8 @@ class RhoGallery::Group < RhoGallery::Base
|
|
17
21
|
groups.collect!{|group| RhoGallery::Group.new(RhoGallery.prepare_hash(group))} unless groups.empty?
|
18
22
|
end
|
19
23
|
|
20
|
-
def self.
|
21
|
-
group = RhoGallery::Base.
|
24
|
+
def self.find(id, options = RhoGallery.credentials)
|
25
|
+
group = RhoGallery::Base.find(id, options, "groups")
|
22
26
|
RhoGallery::Group.new(RhoGallery.prepare_hash(group))
|
23
27
|
end
|
24
28
|
|
File without changes
|
data/lib/rhogallery.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "json"
|
3
|
+
require "rest_client"
|
4
|
+
require "rhogallery/version"
|
5
|
+
require "rhogallery/rho_gallery"
|
6
|
+
require "rhogallery/base"
|
7
|
+
require "rhogallery/consumer"
|
8
|
+
require "rhogallery/group"
|
9
|
+
ENV['rhogallery_api_url'] = "https://app.rhohub.com/rhogallery/api/v1/:username/:resource.json"
|
data/rhogallery.gemspec
CHANGED
data/spec/consumer_spec.rb
CHANGED
@@ -14,7 +14,7 @@ describe RhoGallery::Consumer do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should make a GET request to get a consumer by ID" do
|
17
|
-
RhoGallery::Consumer.
|
17
|
+
RhoGallery::Consumer.find("4e6146d5bdd0c8048c000004")
|
18
18
|
WebMock.should have_requested(:get, RhoGallery.resource_url("testuser", "consumers/4e6146d5bdd0c8048c000004"))
|
19
19
|
end
|
20
20
|
end
|
@@ -22,17 +22,17 @@ describe RhoGallery::Consumer do
|
|
22
22
|
context "Create, update and Delete actions" do
|
23
23
|
it "should send a POST request to save a new consumer" do
|
24
24
|
new_cons = RhoGallery::Consumer.new({:login => "testconsumer", :name => "this is a name"})
|
25
|
-
new_cons.
|
25
|
+
new_cons.save
|
26
26
|
WebMock.should have_requested(:post, RhoGallery.resource_url("testuser", "consumers"))
|
27
27
|
end
|
28
28
|
it "should send a PUT request to update a consumer" do
|
29
|
-
consumer = RhoGallery::Consumer.
|
29
|
+
consumer = RhoGallery::Consumer.find("4e6146d5bdd0c8048c000004")
|
30
30
|
consumer.login = "new_login_for_this_consumer"
|
31
31
|
consumer.update
|
32
32
|
WebMock.should have_requested(:put, RhoGallery.resource_url("testuser", "consumers/4e6146d5bdd0c8048c000004"))
|
33
33
|
end
|
34
34
|
it "should send a DELETE request to delete a consumer" do
|
35
|
-
consumer = RhoGallery::Consumer.
|
35
|
+
consumer = RhoGallery::Consumer.find("4e6146d5bdd0c8048c000004")
|
36
36
|
consumer.delete
|
37
37
|
WebMock.should have_requested(:delete, RhoGallery.resource_url("testuser", "consumers/4e6146d5bdd0c8048c000004"))
|
38
38
|
end
|
@@ -40,14 +40,14 @@ describe RhoGallery::Consumer do
|
|
40
40
|
stub_request(:post, RhoGallery.resource_url("testuser", "consumers")).
|
41
41
|
to_return({:status => 422, :body => "login can't be blank"})
|
42
42
|
new_cons = RhoGallery::Consumer.new({:name => "this is a name"})
|
43
|
-
new_cons.
|
43
|
+
new_cons.save
|
44
44
|
WebMock.should have_requested(:post, RhoGallery.resource_url("testuser", "consumers"))
|
45
45
|
new_cons.errors.should == "login can't be blank"
|
46
46
|
end
|
47
47
|
it "should respond with error when is trying to update a consumer with wrong attributes" do
|
48
48
|
stub_request(:put, RhoGallery.resource_url("testuser", "consumers/4e6146d5bdd0c8048c000004")).
|
49
49
|
to_return({:status => 422, :body => "login can't be blank"})
|
50
|
-
consumer = RhoGallery::Consumer.
|
50
|
+
consumer = RhoGallery::Consumer.find("4e6146d5bdd0c8048c000004")
|
51
51
|
consumer.login = ""
|
52
52
|
consumer.update
|
53
53
|
WebMock.should have_requested(:put, RhoGallery.resource_url("testuser", "consumers/4e6146d5bdd0c8048c000004"))
|
@@ -57,7 +57,7 @@ describe RhoGallery::Consumer do
|
|
57
57
|
|
58
58
|
context "Get and set consumers values" do
|
59
59
|
before(:each) do
|
60
|
-
@consumer = RhoGallery::Consumer.
|
60
|
+
@consumer = RhoGallery::Consumer.find("4e6146d5bdd0c8048c000004")
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should get the consumer values and set new values" do
|
data/spec/group_spec.rb
CHANGED
@@ -14,7 +14,7 @@ describe RhoGallery::Group do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should make a GET request when is finding a group by ID" do
|
17
|
-
RhoGallery::Group.
|
17
|
+
RhoGallery::Group.find("4e6146d5bdd0c8048c000004")
|
18
18
|
WebMock.should have_requested(:get, RhoGallery.resource_url("testuser", "groups/4e6146d5bdd0c8048c000004"))
|
19
19
|
end
|
20
20
|
end
|
@@ -22,11 +22,11 @@ describe RhoGallery::Group do
|
|
22
22
|
context "Create and delete actions" do
|
23
23
|
it "should send a POST request when is creating a new group" do
|
24
24
|
new_group = RhoGallery::Group.new({:name => "group_name"})
|
25
|
-
new_group.
|
25
|
+
new_group.save
|
26
26
|
WebMock.should have_requested(:post, RhoGallery.resource_url("testuser", "groups"))
|
27
27
|
end
|
28
28
|
it "should send a DELETE request when is deleting a group" do
|
29
|
-
group = RhoGallery::Group.
|
29
|
+
group = RhoGallery::Group.find("4e6146d5bdd0c8048c000004")
|
30
30
|
group.delete
|
31
31
|
WebMock.should have_requested(:delete, RhoGallery.resource_url("testuser", "groups/4e6146d5bdd0c8048c000004"))
|
32
32
|
end
|
@@ -34,7 +34,7 @@ describe RhoGallery::Group do
|
|
34
34
|
stub_request(:post, RhoGallery.resource_url("testuser", "groups")).
|
35
35
|
to_return({:status => 422, :body => "name can't be blank"})
|
36
36
|
new_group = RhoGallery::Group.new
|
37
|
-
new_group.
|
37
|
+
new_group.save
|
38
38
|
WebMock.should have_requested(:post, RhoGallery.resource_url("testuser", "groups"))
|
39
39
|
new_group.errors.should == "name can't be blank"
|
40
40
|
end
|
@@ -42,7 +42,7 @@ describe RhoGallery::Group do
|
|
42
42
|
|
43
43
|
context "Get groups values" do
|
44
44
|
it "should get al the group values" do
|
45
|
-
group = RhoGallery::Group.
|
45
|
+
group = RhoGallery::Group.find("4e6146d5bdd0c8048c000004")
|
46
46
|
group.name.should == "koombea"
|
47
47
|
group.id.should == "4e6146d5bdd0c8048c000004"
|
48
48
|
end
|
@@ -50,7 +50,7 @@ describe RhoGallery::Group do
|
|
50
50
|
|
51
51
|
context "Update method doesn't exist for groups" do
|
52
52
|
it "should raise a NotMethod Exception when is trying to update a group" do
|
53
|
-
group = RhoGallery::Group.
|
53
|
+
group = RhoGallery::Group.find("4e6146d5bdd0c8048c000004")
|
54
54
|
lambda { group.update }.should raise_error
|
55
55
|
end
|
56
56
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhogallery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
- 0
|
9
8
|
- 1
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Rhomobile
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-26 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
type: :runtime
|
@@ -65,12 +65,12 @@ files:
|
|
65
65
|
- README.markdown
|
66
66
|
- Rakefile
|
67
67
|
- init.rb
|
68
|
-
- lib/rhogallery
|
69
|
-
- lib/rhogallery
|
70
|
-
- lib/rhogallery
|
71
|
-
- lib/rhogallery
|
72
|
-
- lib/rhogallery
|
73
|
-
- lib/rhogallery
|
68
|
+
- lib/rhogallery.rb
|
69
|
+
- lib/rhogallery/base.rb
|
70
|
+
- lib/rhogallery/consumer.rb
|
71
|
+
- lib/rhogallery/group.rb
|
72
|
+
- lib/rhogallery/rho_gallery.rb
|
73
|
+
- lib/rhogallery/version.rb
|
74
74
|
- rhogallery.gemspec
|
75
75
|
- spec/consumer_spec.rb
|
76
76
|
- spec/group_spec.rb
|
data/lib/rhogallery-api.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
require "json"
|
3
|
-
require "rest_client"
|
4
|
-
require "rhogallery-api/version"
|
5
|
-
require "rhogallery-api/rho_gallery"
|
6
|
-
require "rhogallery-api/base"
|
7
|
-
require "rhogallery-api/consumer"
|
8
|
-
require "rhogallery-api/group"
|
9
|
-
ENV['rhogallery_api_url'] = "https://appstaging.rhohub.com/rhogallery/api/v1/:username/:resource.json"
|