populr 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.3@populr_api_gem
data/Gemfile CHANGED
@@ -5,9 +5,13 @@ gem "rest-client", ">= 1.6"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
- group :development do
8
+ group :development, :test do
9
+ gem 'rspec'
9
10
  gem "shoulda", ">= 0"
10
11
  gem "rdoc", "~> 3.12"
11
12
  gem "bundler", "~> 1.3.5"
12
13
  gem "jeweler", "~> 1.8.4"
14
+ gem 'pry'
15
+ gem 'pry-nav'
16
+ gem 'pry-stack_explorer'
13
17
  end
@@ -4,8 +4,13 @@ GEM
4
4
  activesupport (3.2.8)
5
5
  i18n (~> 0.6)
6
6
  multi_json (~> 1.0)
7
+ binding_of_caller (0.7.2)
8
+ debug_inspector (>= 0.0.1)
7
9
  bourne (1.4.0)
8
10
  mocha (~> 0.13.2)
11
+ coderay (1.0.9)
12
+ debug_inspector (0.0.2)
13
+ diff-lcs (1.2.4)
9
14
  git (1.2.5)
10
15
  i18n (0.6.1)
11
16
  jeweler (1.8.4)
@@ -15,15 +20,33 @@ GEM
15
20
  rdoc
16
21
  json (1.7.5)
17
22
  metaclass (0.0.1)
23
+ method_source (0.8.1)
18
24
  mime-types (1.19)
19
25
  mocha (0.13.3)
20
26
  metaclass (~> 0.0.1)
21
27
  multi_json (1.3.6)
28
+ pry (0.9.12.2)
29
+ coderay (~> 1.0.5)
30
+ method_source (~> 0.8)
31
+ slop (~> 3.4)
32
+ pry-nav (0.2.3)
33
+ pry (~> 0.9.10)
34
+ pry-stack_explorer (0.4.9)
35
+ binding_of_caller (>= 0.7)
36
+ pry (~> 0.9.11)
22
37
  rake (10.0.3)
23
38
  rdoc (3.12)
24
39
  json (~> 1.4)
25
40
  rest-client (1.6.7)
26
41
  mime-types (>= 1.16)
42
+ rspec (2.14.1)
43
+ rspec-core (~> 2.14.0)
44
+ rspec-expectations (~> 2.14.0)
45
+ rspec-mocks (~> 2.14.0)
46
+ rspec-core (2.14.2)
47
+ rspec-expectations (2.14.0)
48
+ diff-lcs (>= 1.1.3, < 2.0)
49
+ rspec-mocks (2.14.1)
27
50
  shoulda (3.4.0)
28
51
  shoulda-context (~> 1.0, >= 1.0.1)
29
52
  shoulda-matchers (~> 1.0, >= 1.4.1)
@@ -31,6 +54,7 @@ GEM
31
54
  shoulda-matchers (1.5.6)
32
55
  activesupport (>= 3.0.0)
33
56
  bourne (~> 1.3)
57
+ slop (3.4.5)
34
58
 
35
59
  PLATFORMS
36
60
  ruby
@@ -38,6 +62,10 @@ PLATFORMS
38
62
  DEPENDENCIES
39
63
  bundler (~> 1.3.5)
40
64
  jeweler (~> 1.8.4)
65
+ pry
66
+ pry-nav
67
+ pry-stack_explorer
41
68
  rdoc (~> 3.12)
42
69
  rest-client (>= 1.6)
70
+ rspec
43
71
  shoulda
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.11
1
+ 0.1.12
@@ -5,7 +5,7 @@ class ImageAsset < Asset
5
5
  attr_accessor :link
6
6
 
7
7
  def self.collection_name
8
- "images"
8
+ 'images'
9
9
  end
10
10
 
11
11
  end
data/lib/pop.rb CHANGED
@@ -84,7 +84,6 @@ class Pop < RestfulModel
84
84
  end
85
85
  end
86
86
 
87
-
88
87
  def publish!
89
88
  update('POST', 'publish')
90
89
  end
@@ -94,14 +93,14 @@ class Pop < RestfulModel
94
93
  end
95
94
 
96
95
  def edit_url
97
- return @_api.api_server.gsub('api.', 'www.') + "/edit/#{self._id}"
96
+ return @_api.api_server.gsub('api.', 'www.') + "/edit/#{_id}"
98
97
  end
99
98
 
100
99
  def enable_collaboration!(interstitial_text = '', webhook = nil)
101
100
  self.collaboration_link_enabled = true
102
101
  self.collaboration_webhook = webhook
103
102
  self.collaboration_interstitial_text = interstitial_text
104
- self.save! # go and populate our model with the collaboration link
103
+ save! # go and populate our model with the collaboration link
105
104
  end
106
105
 
107
106
  def disable_collaboration
@@ -111,7 +110,7 @@ class Pop < RestfulModel
111
110
 
112
111
  def enable_cloning!
113
112
  self.clone_link_enabled = true
114
- self.save! # go and populate our model with the clone link
113
+ save! # go and populate our model with the clone link
115
114
  end
116
115
 
117
116
  def disable_cloning
@@ -120,12 +119,12 @@ class Pop < RestfulModel
120
119
  end
121
120
 
122
121
  def has_unpopulated_region(region_identifier)
123
- self.unpopulated_api_regions.include?(region_identifier)
122
+ unpopulated_api_regions.include?(region_identifier)
124
123
  end
125
124
 
126
125
  def type_of_unpopulated_region(region_identifier)
127
- return false unless self.has_unpopulated_region(region_identifier)
128
- self.unpopulated_api_regions[region_identifier]['type']
126
+ return false unless has_unpopulated_region(region_identifier)
127
+ unpopulated_api_regions[region_identifier]['type']
129
128
  end
130
129
 
131
130
  def populate_region(region_identifier, assets)
@@ -136,16 +135,16 @@ class Pop < RestfulModel
136
135
  raise AssetMustBeSaved.new unless a._id
137
136
  a._id
138
137
  })
139
- self.unpopulated_api_regions.delete(region_identifier)
138
+ unpopulated_api_regions.delete(region_identifier)
140
139
  end
141
140
 
142
141
  def has_unpopulated_tag(tag_identifier)
143
- self.unpopulated_api_tags.include?(tag_identifier)
142
+ unpopulated_api_tags.include?(tag_identifier)
144
143
  end
145
144
 
146
145
  def populate_tag(tag_identifier, tag_contents)
147
146
  @newly_populated_tags[tag_identifier] = tag_contents
148
- self.unpopulated_api_tags.delete(tag_identifier)
147
+ unpopulated_api_tags.delete(tag_identifier)
149
148
  end
150
149
 
151
150
  def analytics
@@ -32,7 +32,7 @@ class Populr
32
32
  raise ResourceNotFound.new if result.code.to_i == 404
33
33
  raise AccessDenied.new if result.code.to_i == 403
34
34
 
35
- # Hande content expectation errors
35
+ # Handle content expectation errors
36
36
  raise UnexpectedResponse.new if options[:expected_class] && result_content.empty?
37
37
  json = JSON.parse(result_content)
38
38
  raise APIError.new(json['error_type'], json['error']) if json.is_a?(Hash) && json['error_type']
@@ -24,17 +24,16 @@ class RestfulModel
24
24
  def inflate(json)
25
25
  setters = methods.grep(/^\w+=$/)
26
26
  setters.each do |setter|
27
- property_name = setter.to_s[0..setter.to_s.index('=')-1]
28
- self.send(setter, json[property_name]) if json.has_key?(property_name)
27
+ property_name = setter.to_s.sub('=', '')
28
+ send(setter, json[property_name]) if json.has_key?(property_name)
29
29
  end
30
- self.created_at = Time.parse(self.created_at) if self.created_at
31
30
  end
32
31
 
33
32
  def save!
34
33
  if _id
35
- update('PUT', '', self.as_json(:api_representation => true))
34
+ update('PUT', '', as_json(:api_representation => true))
36
35
  else
37
- update('POST', '', self.as_json(:api_representation => true))
36
+ update('POST', '', as_json(:api_representation => true))
38
37
  end
39
38
  end
40
39
 
@@ -42,14 +41,12 @@ class RestfulModel
42
41
  hash = {}
43
42
  setters = methods.grep(/^\w+=$/)
44
43
  setters.each do |setter|
45
- getter = setter.to_s[0..setter.to_s.index('=')-1]
44
+ getter = setter.to_s.sub('=', '')
46
45
  unless options[:except] && options[:except].include?(getter)
47
- value = self.send(getter)
48
- unless value.is_a? RestfulModelCollection
46
+ value = send(getter)
47
+ unless value.is_a?(RestfulModelCollection)
48
+ value = value.as_json(options) if value.respond_to?(:as_json)
49
49
  hash[getter] = value
50
- if value.class.method_defined? :as_json
51
- value = value.as_json(options)
52
- end
53
50
  end
54
51
  end
55
52
  end
@@ -58,13 +55,14 @@ class RestfulModel
58
55
 
59
56
  def update(http_method, action, data = {})
60
57
  http_method = http_method.downcase
61
- action_url = @_api.url_for_path(self.path(action))
62
- RestClient.send(http_method, action_url, data){ |response,request,result|
58
+ action_url = @_api.url_for_path(path(action))
59
+
60
+ RestClient.send(http_method, action_url, data) do |response, request, result|
63
61
  unless http_method == 'delete'
64
- json = Populr.interpret_response(result, response, {:expected_class => Object})
62
+ json = Populr.interpret_response(result, response, :expected_class => Object)
65
63
  inflate(json)
66
64
  end
67
- }
65
+ end
68
66
  self
69
67
  end
70
68
 
@@ -79,4 +77,4 @@ class RestfulModel
79
77
  end
80
78
 
81
79
 
82
- end
80
+ end
@@ -48,7 +48,7 @@ class RestfulModelCollection
48
48
 
49
49
  def delete(item_or_id)
50
50
  item_or_id = item_or_id._id if item_or_id.is_a?(RestfulModel)
51
- url = @_api.url_for_path(self.path(item_or_id))
51
+ url = @_api.url_for_path(path(item_or_id))
52
52
  RestClient.delete(url)
53
53
  end
54
54
 
@@ -86,7 +86,7 @@ class RestfulModelCollection
86
86
 
87
87
  def get_restful_model(id)
88
88
  model = nil
89
- url = @_api.url_for_path(self.path(id))
89
+ url = @_api.url_for_path(path(id))
90
90
 
91
91
  RestClient.get(url){ |response,request,result|
92
92
  json = Populr.interpret_response(result, response, {:expected_class => Object})
@@ -101,7 +101,7 @@ class RestfulModelCollection
101
101
  end
102
102
 
103
103
  def get_restful_model_collection(offset = 0, count = 50)
104
- url = @_api.url_for_path("#{self.path}?offset=#{offset}&count=#{count}")
104
+ url = @_api.url_for_path("#{path}?offset=#{offset}&count=#{count}")
105
105
  models = []
106
106
  RestClient.get(url){ |response,request,result|
107
107
  items = Populr.interpret_response(result, response, {:expected_class => Array})
@@ -46,7 +46,7 @@ class Tracer < RestfulModel
46
46
  end
47
47
 
48
48
  def code=(c)
49
- raise CodeCannotBeModified.new if self.code && c != self.code
49
+ raise CodeCannotBeModified.new if code && c != code
50
50
  @code = c
51
51
  end
52
52
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "populr"
8
- s.version = "0.1.11"
8
+ s.version = "0.1.12"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ben Gotow"]
12
- s.date = "2013-06-24"
12
+ s.date = "2013-07-14"
13
13
  s.description = "Gem for interacting with the Populr.me API that allows you to create and publish one-page websites, subscribe to web hooks and receive events when those pages are interacted with. Visit http://www.populr.me/ for more information. "
14
14
  s.email = "ben@populr.me"
15
15
  s.extra_rdoc_files = [
@@ -18,6 +18,8 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".rspec",
22
+ ".rvmrc",
21
23
  "Gemfile",
22
24
  "Gemfile.lock",
23
25
  "LICENSE.md",
@@ -47,7 +49,7 @@ Gem::Specification.new do |s|
47
49
  s.homepage = "http://github.com/populr/populr_api_ruby"
48
50
  s.licenses = ["MIT"]
49
51
  s.require_paths = ["lib"]
50
- s.rubygems_version = "1.8.10"
52
+ s.rubygems_version = "1.8.25"
51
53
  s.summary = "Gem for interacting with the Populr.me API"
52
54
 
53
55
  if s.respond_to? :specification_version then
@@ -55,23 +57,35 @@ Gem::Specification.new do |s|
55
57
 
56
58
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
57
59
  s.add_runtime_dependency(%q<rest-client>, [">= 1.6"])
60
+ s.add_development_dependency(%q<rspec>, [">= 0"])
58
61
  s.add_development_dependency(%q<shoulda>, [">= 0"])
59
62
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
60
63
  s.add_development_dependency(%q<bundler>, ["~> 1.3.5"])
61
64
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
65
+ s.add_development_dependency(%q<pry>, [">= 0"])
66
+ s.add_development_dependency(%q<pry-nav>, [">= 0"])
67
+ s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
62
68
  else
63
69
  s.add_dependency(%q<rest-client>, [">= 1.6"])
70
+ s.add_dependency(%q<rspec>, [">= 0"])
64
71
  s.add_dependency(%q<shoulda>, [">= 0"])
65
72
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
66
73
  s.add_dependency(%q<bundler>, ["~> 1.3.5"])
67
74
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
75
+ s.add_dependency(%q<pry>, [">= 0"])
76
+ s.add_dependency(%q<pry-nav>, [">= 0"])
77
+ s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
68
78
  end
69
79
  else
70
80
  s.add_dependency(%q<rest-client>, [">= 1.6"])
81
+ s.add_dependency(%q<rspec>, [">= 0"])
71
82
  s.add_dependency(%q<shoulda>, [">= 0"])
72
83
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
73
84
  s.add_dependency(%q<bundler>, ["~> 1.3.5"])
74
85
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
86
+ s.add_dependency(%q<pry>, [">= 0"])
87
+ s.add_dependency(%q<pry-nav>, [">= 0"])
88
+ s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
75
89
  end
76
90
  end
77
91
 
@@ -1,9 +1,7 @@
1
1
  ::ENV['RACK_ENV'] = 'test'
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
- require 'rack/test'
4
3
 
5
4
  describe 'Pop' do
6
- include Rack::Test::Methods
7
5
  before (:each) do
8
6
  @api = Populr.new('key')
9
7
  end
@@ -11,6 +9,8 @@ describe 'Pop' do
11
9
  describe "#initialize" do
12
10
  it "should accept an API connection followed by a template" do
13
11
  template = Template.new(@api)
12
+ template.stub(:api_regions).and_return([])
13
+ template.stub(:api_tags).and_return([])
14
14
  template._id = '123'
15
15
  pop = Pop.new(template)
16
16
  pop.template_id.should == '123'
@@ -48,8 +48,7 @@ describe 'Pop' do
48
48
 
49
49
  @result = double('result')
50
50
  @result.stub(:code).and_return(200)
51
- @result.stub(:body).and_return("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}")
52
- RestClient.stub(:post).and_yield(nil, nil, @result)
51
+ RestClient.stub(:post).and_yield("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}", '', @result)
53
52
  end
54
53
 
55
54
  it "should call update with the publish action" do
@@ -62,9 +61,9 @@ describe 'Pop' do
62
61
  end
63
62
 
64
63
  it "should set the published_pop_url" do
65
- @pop.published_pop_url.empty?.should == true
64
+ @pop.published_pop_url.should be_empty
66
65
  @pop.publish!
67
- @pop.published_pop_url.empty?.should == false
66
+ @pop.published_pop_url.should_not be_empty
68
67
  end
69
68
  end
70
69
 
@@ -76,8 +75,7 @@ describe 'Pop' do
76
75
 
77
76
  @result = double('result')
78
77
  @result.stub(:code).and_return(200)
79
- @result.stub(:body).and_return("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}")
80
- RestClient.stub(:post).and_yield(nil, nil, @result)
78
+ RestClient.stub(:post).and_yield("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}", '', @result)
81
79
  end
82
80
 
83
81
  it "should call update with the unpublish action" do
@@ -1,10 +1,7 @@
1
1
  ::ENV['RACK_ENV'] = 'test'
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
- require 'rack/test'
4
3
 
5
4
  describe 'Populr' do
6
- include Rack::Test::Methods
7
-
8
5
  before (:each) do
9
6
  @api_key = 'UXXMOCJW-BKSLPCFI-UQAQFWLO'
10
7
  @populr = Populr.new(@api_key)
@@ -32,26 +29,23 @@ describe 'Populr' do
32
29
  describe "#self.interpret_response" do
33
30
  before (:each) do
34
31
  @result = double('result')
35
- @result.stub(:body).and_return("")
36
32
  @result.stub(:code).and_return(200)
37
33
  end
38
34
 
39
35
  context "when an expected_class is provided" do
40
36
  context "when the server responds with a 200 but unknown, invalid body" do
41
37
  it "should raise an UnexpectedResponse" do
42
- @result.stub(:body).and_return("I AM NOT JSON")
43
38
  lambda {
44
- Populr.interpret_response(@result, {:expected_class => Array})
39
+ Populr.interpret_response(@result, "I AM NOT JSON", {:expected_class => Array})
45
40
  }.should raise_error(Populr::UnexpectedResponse)
46
41
  end
47
42
  end
48
43
 
49
44
  context "when the server responds with JSON that does not represent an array" do
50
45
  it "should raise an UnexpectedResponse" do
51
- @result.stub(:body).and_return("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}")
52
46
  @result.stub(:code).and_return(500)
53
47
  lambda {
54
- Populr.interpret_response(@result, {:expected_class => Array})
48
+ Populr.interpret_response(@result, "{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}", {:expected_class => Array})
55
49
  }.should raise_error(Populr::UnexpectedResponse)
56
50
  end
57
51
  end
@@ -61,7 +55,7 @@ describe 'Populr' do
61
55
  it "should raise AccessDenied" do
62
56
  @result.stub(:code).and_return(403)
63
57
  lambda {
64
- Populr.interpret_response(@result)
58
+ Populr.interpret_response(@result, '')
65
59
  }.should raise_error(Populr::AccessDenied)
66
60
  end
67
61
  end
@@ -70,7 +64,7 @@ describe 'Populr' do
70
64
  it "should raise ResourceNotFound" do
71
65
  @result.stub(:code).and_return(404)
72
66
  lambda {
73
- Populr.interpret_response(@result)
67
+ Populr.interpret_response(@result, '')
74
68
  }.should raise_error(Populr::ResourceNotFound)
75
69
  end
76
70
  end
@@ -79,7 +73,7 @@ describe 'Populr' do
79
73
  it "should raise an UnexpectedResponse" do
80
74
  @result.stub(:code).and_return(500)
81
75
  lambda {
82
- Populr.interpret_response(@result)
76
+ Populr.interpret_response(@result, '')
83
77
  }.should raise_error(Populr::UnexpectedResponse)
84
78
  end
85
79
  end
@@ -1,18 +1,13 @@
1
1
  ::ENV['RACK_ENV'] = 'test'
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
- require 'rack/test'
4
3
 
5
4
  describe 'RestfulModelCollection' do
6
- include Rack::Test::Methods
7
-
8
5
  before (:each) do
9
6
  @api_key = 'UXXMOCJW-BKSLPCFI-UQAQFWLO'
10
7
  @populr = Populr.new(@api_key)
11
8
  @collection = @populr.pops
12
9
  end
13
10
 
14
-
15
-
16
11
  describe "#first" do
17
12
  it "should return the first item in the all collection" do
18
13
  @collection.stub(:get_restful_model_collection).and_return(['a','b'])
@@ -29,9 +24,8 @@ describe 'RestfulModelCollection' do
29
24
  context "when the server responds correctly" do
30
25
  before (:each) do
31
26
  result = double('result')
32
- result.stub(:body).and_return("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}")
33
27
  result.stub(:code).and_return(200)
34
- RestClient.should_receive(:get).and_yield(nil, nil, result)
28
+ RestClient.should_receive(:get).and_yield("{\"_id\":\"5107089add02dcaecc000003\",\"created_at\":\"2013-01-28T23:24:10Z\",\"domain\":\"generic\",\"name\":\"Untitled\",\"password\":null,\"slug\":\"\",\"tracers\":[{\"_id\":\"5109b5e0dd02dc5976000001\",\"created_at\":\"2013-01-31T00:08:00Z\",\"name\":\"Facebook\"},{\"_id\":\"5109b5f5dd02dc4c43000002\",\"created_at\":\"2013-01-31T00:08:21Z\",\"name\":\"Twitter\"}],\"published_pop_url\":\"http://group3.lvh.me\",\"unpopulated_api_tags\":[],\"unpopulated_api_regions\":[],\"label_names\":[]}", nil, result)
35
29
  end
36
30
 
37
31
  it "should return a pop" do
@@ -1,9 +1,7 @@
1
1
  ::ENV['RACK_ENV'] = 'test'
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
- require 'rack/test'
4
3
 
5
4
  describe 'RestfulModel' do
6
- include Rack::Test::Methods
7
5
  before (:each) do
8
6
  @api = Populr.new('key')
9
7
  end
@@ -1,16 +1,13 @@
1
1
  ::ENV['RACK_ENV'] = 'test'
2
2
  require File.join(File.dirname(__FILE__), 'spec_helper')
3
- require 'rack/test'
4
3
 
5
4
  describe 'Pop' do
6
- include Rack::Test::Methods
7
5
  before (:each) do
8
6
  @api = Populr.new('key')
9
7
  @tracer = Tracer.new(@api)
10
8
  @tracer.inflate(JSON.parse("{\"code\":\"tc\",\"name\":\"Twitter\",\"notify_on_open\":false,\"analytics\":{\"views\":6,\"clicks\":24,\"links\":{\"http://www.populr.me/\":{\"clicks\":4}},\"assets\":{\"empty_region\":{},\"unnamed_region_0\":{\"132213ae12bc1312\":{\"clicks\":10}},\"my_image_region\":{\"132213ae21f4812f\":{\"clicks\":10},\"f48121f48121f421\":{\"clicks\":3}}}}}"))
11
9
  end
12
10
 
13
-
14
11
  describe "#views" do
15
12
  it "should retrieve the total views from analytics" do
16
13
  @tracer.views.should == 6
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: populr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-24 00:00:00.000000000 Z
12
+ date: 2013-07-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &70253548009220 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,31 @@ dependencies:
21
21
  version: '1.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70253548009220
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '1.6'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: shoulda
27
- requirement: &70253548008220 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
28
49
  none: false
29
50
  requirements:
30
51
  - - ! '>='
@@ -32,10 +53,15 @@ dependencies:
32
53
  version: '0'
33
54
  type: :development
34
55
  prerelease: false
35
- version_requirements: *70253548008220
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: rdoc
38
- requirement: &70253548007560 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ~>
@@ -43,10 +69,15 @@ dependencies:
43
69
  version: '3.12'
44
70
  type: :development
45
71
  prerelease: false
46
- version_requirements: *70253548007560
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '3.12'
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: bundler
49
- requirement: &70253548006800 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ~>
@@ -54,10 +85,15 @@ dependencies:
54
85
  version: 1.3.5
55
86
  type: :development
56
87
  prerelease: false
57
- version_requirements: *70253548006800
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.5
58
94
  - !ruby/object:Gem::Dependency
59
95
  name: jeweler
60
- requirement: &70253548005720 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
99
  - - ~>
@@ -65,7 +101,60 @@ dependencies:
65
101
  version: 1.8.4
66
102
  type: :development
67
103
  prerelease: false
68
- version_requirements: *70253548005720
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 1.8.4
110
+ - !ruby/object:Gem::Dependency
111
+ name: pry
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: pry-nav
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: pry-stack_explorer
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
69
158
  description: ! 'Gem for interacting with the Populr.me API that allows you to create
70
159
  and publish one-page websites, subscribe to web hooks and receive events when those
71
160
  pages are interacted with. Visit http://www.populr.me/ for more information. '
@@ -77,6 +166,8 @@ extra_rdoc_files:
77
166
  - README.rdoc
78
167
  files:
79
168
  - .document
169
+ - .rspec
170
+ - .rvmrc
80
171
  - Gemfile
81
172
  - Gemfile.lock
82
173
  - LICENSE.md
@@ -117,7 +208,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
208
  version: '0'
118
209
  segments:
119
210
  - 0
120
- hash: -2026525077566953955
211
+ hash: -821552930244231200
121
212
  required_rubygems_version: !ruby/object:Gem::Requirement
122
213
  none: false
123
214
  requirements:
@@ -126,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
217
  version: '0'
127
218
  requirements: []
128
219
  rubyforge_project:
129
- rubygems_version: 1.8.10
220
+ rubygems_version: 1.8.25
130
221
  signing_key:
131
222
  specification_version: 3
132
223
  summary: Gem for interacting with the Populr.me API