helix 0.0.5.1.pre → 0.0.5.2.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGY1MjZkYTY0OWRhYjc1MTY1ZjlmZjgwMjZiODE3NDQ2NzJhYmE1NQ==
4
+ YjhmM2QxN2UxMzlmZDM5MzkzYmMzODYwYzNmZDExOWQ1ZDBiZTg3ZQ==
5
5
  data.tar.gz: !binary |-
6
- NDc1YzVlZmNhYmFkNTJmMTJjMzc1MmJmMDUyNDEyOWMyY2IyZTkzMw==
6
+ ZjdhNzBjN2UzOGY3NDM2ZWRiNjU3NTcxNWNlOTAxZGFmZTNiNTUyMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NmJmY2NjOGFiZTAyM2U1MmIyZGVjNDRiZThmOTUyMDEzZWU3YzZiZTk2NmZk
10
- NWY5YTg4ZWRhYjMwNWRjZGRmMWFlMDcyMTkxMmZkZjhlODBmODQ5OTNhMTA1
11
- OTY5NDdjNTc2Njk5NGE2ZjJlYTIzYzk4NjA5OWQwNzBjYmJmZDE=
9
+ ZjE3ZGNjMGU3MDY4YTQ2N2Q1YWRlZTNmNzE4YWJlYWQwMTg3NzlkMjc2ZjQw
10
+ YTEwMzM1ZDBkMzUxODdhMGEwODU1OTA2MzA1MDUwZmM2YzczYmFjNWU2OWQ1
11
+ ODY2ZDg5YWMzYzA5NjljNDQwMjQ3Y2E1N2M4ODQ0Y2UxNDA4YWE=
12
12
  data.tar.gz: !binary |-
13
- YjQ3Y2MwZmZjNDBhYjU0NzcxYWY5ZjRhN2Y0MmMzYjZhMTAzZjEyZWU2MTM1
14
- MjM2YTllZDFiODU2ZTQyMTRlOTQ1OTJmZjlhOTE4YzlhMDQ3NzJjNjgwNTRh
15
- ZjdjYzU2YTBhODUyODVhMTUxNDcyNWI5OGJhMzE1NTA3ZDAwODM=
13
+ ODljZjhkNGM5ZmIxMWMwNjYxZjVhMmI2ZWIzOTZlZGRhNDQwMTI1ZDc3ZTk3
14
+ NTU3NzI2OTFhYTUwNDY0OWJjYjg3OTk1YWQ5MTc1ZjM3YjFhMmYyYzEyMTQ1
15
+ MjUxMDA2Yzg1Y2I5MzYzZDRlZmZhNTg0ZGNlOGUzMTNlYzU3OGU=
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Helix [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/Twistage/helix)
1
+ # Helix [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/Perceptive-Cloud/helix)
2
2
 
3
- The Helix gem allows developers to easily connect to and manipulate the Twistage API.
3
+ The Helix gem allows developers to easily connect to and manipulate the Perceptive Media API.
4
4
 
5
5
  Documentation
6
6
  -------------
@@ -24,14 +24,14 @@ Install From Repo
24
24
  -----------------
25
25
  Using sudo:
26
26
  ```shell
27
- git clone git@github.com:Twistage/helix.git
27
+ git clone git@github.com:Perceptive-Cloud/helix.git
28
28
  gem build helix.gemspec
29
29
  sudo gem i helix-*.gem
30
30
  ```
31
31
 
32
32
  RVM or root support:
33
33
  ```shell
34
- git clone git@github.com:Twistage/helix.git
34
+ git clone git@github.com:Perceptive-Cloud/helix.git
35
35
  gem build helix.gemspec
36
36
  gem i helix-*.gem
37
37
  ```
@@ -44,7 +44,7 @@ rake reinstall_helix_rvm
44
44
 
45
45
  Using gem in a Gemfile
46
46
  ```shell
47
- gem 'helix', :git => 'git@github.com:Twistage/helix.git'
47
+ gem 'helix', :git => 'git@github.com:Perceptive-Cloud/helix.git'
48
48
  ```
49
49
 
50
50
 
@@ -61,7 +61,7 @@ How To
61
61
  site: 'http://service.twistage.com'
62
62
  company: 'my_company'
63
63
  license_key: '141a86b5c4091'
64
- library_id: 'development'
64
+ library: 'development'
65
65
  ```
66
66
  Boot up IRB in your console
67
67
  ```shell
@@ -93,11 +93,11 @@ Credits
93
93
 
94
94
  Helix was written by Kevin Baird and Michael Wood.
95
95
 
96
- Helix is maintained and funded by [Twistage, Inc](http://twistage.com)
96
+ Helix is maintained and funded by [Perceptive Software](http://www.perceptivesoftware.com)
97
97
 
98
- The names and logos for twistage are trademarks of Twistage, Inc.
98
+ The names and logos for Perceptive Media are trademarks of Perceptive Software.
99
99
 
100
100
  License
101
101
  -------
102
102
 
103
- Helix is Copyright © 2008-2012 Twistage, Inc.
103
+ Helix is Copyright © 2008-2014 Perceptive Software.
@@ -80,9 +80,9 @@ module Helix
80
80
 
81
81
  def parse_xml_response(response, url)
82
82
  #TODO: Cleanup Nori and response gsub.
83
- Nori.parser = :nokogiri
83
+ parser = Nori.new(parser: :nokogiri)
84
84
  xml = response.gsub(/<custom-fields type='array'>/, "<custom-fields type='hash'>")
85
- Nori.parse(xml)
85
+ parser.parse(xml)
86
86
  end
87
87
 
88
88
  end
@@ -1,3 +1,5 @@
1
+ require 'rexml/document'
2
+
1
3
  module Helix
2
4
 
3
5
  # Mixed-in to ORM classes to provide basic RESTful CRUD operations.
@@ -1,8 +1,3 @@
1
- require 'rest-client'
2
- require 'json'
3
- require 'yaml'
4
- require 'nori'
5
-
6
1
  module Helix
7
2
  class Tag < Base
8
3
  # The class name, to be used by supporting classes. Such as Config which uses
@@ -2,9 +2,8 @@ require File.expand_path('../spec_helper', __FILE__)
2
2
  require 'helix'
3
3
 
4
4
  describe Helix::Album do
5
- let(:klass) { Helix::Album }
6
5
 
7
- subject { klass }
6
+ subject { described_class }
8
7
  mods = [ Helix::Base, Helix::Media ]
9
8
  mods.each { |mod| its(:ancestors) { should include(mod) } }
10
9
  its(:guid_name) { should eq('album_id') }
@@ -17,7 +16,7 @@ describe Helix::Album do
17
16
  describe "Constants"
18
17
 
19
18
  describe "an instance" do
20
- let(:obj) { klass.new({'album_id' => 'some_album_guid'}) }
19
+ let(:obj) { described_class.new({'album_id' => 'some_album_guid'}) }
21
20
  subject { obj }
22
21
  its(:resource_label_sym) { should be(:album) }
23
22
  describe "#update" do
@@ -3,13 +3,11 @@ require 'helix'
3
3
 
4
4
  describe Helix::Base do
5
5
 
6
- let(:klass) { Helix::Base }
7
-
8
- subject { klass }
6
+ subject { described_class }
9
7
 
10
8
  describe "Constants" do
11
9
  describe "METHODS_DELEGATED_TO_CLASS" do
12
- subject { klass::METHODS_DELEGATED_TO_CLASS }
10
+ subject { described_class::METHODS_DELEGATED_TO_CLASS }
13
11
  it { should eq([:guid_name, :resource_label_sym, :plural_resource_label]) }
14
12
  end
15
13
  end
@@ -18,21 +16,21 @@ describe Helix::Base do
18
16
 
19
17
  describe ".config" do
20
18
  let(:meth) { :config }
21
- subject { klass.method(meth) }
19
+ subject { described_class.method(meth) }
22
20
  its(:arity) { should eq(0) }
23
21
  describe "when called" do
24
- subject { klass.send(meth) }
22
+ subject { described_class.send(meth) }
25
23
  it { should eq(Helix::Config.instance) }
26
24
  end
27
25
  end
28
26
 
29
27
  shared_examples_for "a search all with opts" do
30
- subject { klass.method(meth) }
28
+ subject { described_class.method(meth) }
31
29
  its(:arity) { should eq(-1) }
32
30
  context "when there is NOT a config instance" do
33
31
  before(:each) do Helix::Config.stub(:instance) { nil } end
34
32
  it "should raise a NoConfigurationLoaded exception" do
35
- lambda { klass.send(meth) }.should raise_error(Helix::NoConfigurationLoaded)
33
+ lambda { described_class.send(meth) }.should raise_error(Helix::NoConfigurationLoaded)
36
34
  end
37
35
  end
38
36
  context "when there is a config instance" do
@@ -43,11 +41,11 @@ describe Helix::Base do
43
41
  before(:each) do Helix::Config.stub(:instance) { mock_config } end
44
42
  context "and NOT given an opts Hash" do
45
43
  let(:plural_resource_label) { :videos }
46
- before(:each) do klass.stub(:plural_resource_label) { plural_resource_label } end
44
+ before(:each) do described_class.stub(:plural_resource_label) { plural_resource_label } end
47
45
  it "should get_aggregated_data_sets(the_url, plural_resource_label, {sig_type: :view}" do
48
46
  opts = {sig_type: :view}
49
47
  mock_config.should_receive(:get_aggregated_data_sets).with(:built_url, plural_resource_label, opts) { [:expected] }
50
- klass.send(meth, opts)
48
+ described_class.send(meth, opts)
51
49
  end
52
50
  [ Helix::Video ].each do |child|
53
51
  it "should should instantiate #{child.to_s} from each data_set" do
@@ -64,7 +62,7 @@ describe Helix::Base do
64
62
  end
65
63
 
66
64
  shared_examples_for "a search all without opts" do
67
- subject { klass.method(meth) }
65
+ subject { described_class.method(meth) }
68
66
  context "when there is a config instance" do
69
67
  let(:mock_config) do
70
68
  dss = (0..2).map { |x| :"attrs_#{x}" }
@@ -73,11 +71,11 @@ describe Helix::Base do
73
71
  before(:each) do Helix::Config.stub(:instance) { mock_config } end
74
72
  context "and NOT given an opts Hash" do
75
73
  let(:plural_resource_label) { :videos }
76
- before(:each) do klass.stub(:plural_resource_label) { plural_resource_label } end
74
+ before(:each) do described_class.stub(:plural_resource_label) { plural_resource_label } end
77
75
  it "should get_aggregated_data_sets(the_url, plural_resource_label, {sig_type: :view}" do
78
76
  opts = {sig_type: :view}
79
77
  mock_config.should_receive(:get_aggregated_data_sets).with(:built_url, plural_resource_label, opts) { [:expected] }
80
- klass.send(meth)
78
+ described_class.send(meth)
81
79
  end
82
80
  [ Helix::Video ].each do |child|
83
81
  it "should should instantiate #{child.to_s} from each data_set" do
@@ -101,7 +99,7 @@ describe Helix::Base do
101
99
 
102
100
  describe ".all" do
103
101
  let(:meth) { :all }
104
- subject { klass.method(meth) }
102
+ subject { described_class.method(meth) }
105
103
  its(:arity) { should eq(0) }
106
104
  it_behaves_like "a search all without opts"
107
105
  end
@@ -114,44 +112,44 @@ describe Helix::Base do
114
112
 
115
113
  describe ".massage_attrs" do
116
114
  let(:meth) { :massage_attrs }
117
- subject { klass.method(meth) }
115
+ subject { described_class.method(meth) }
118
116
  its(:arity) { should eq(1) }
119
117
  let(:attrs) { Hash.new }
120
118
  it "should call massage_custom_field_attrs and massage_time_attrs" do
121
- klass.should_receive(:massage_time_attrs) { attrs }
122
- klass.should_receive(:massage_custom_field_attrs) { attrs }
123
- klass.send(meth, attrs)
119
+ described_class.should_receive(:massage_time_attrs) { attrs }
120
+ described_class.should_receive(:massage_custom_field_attrs) { attrs }
121
+ described_class.send(meth, attrs)
124
122
  end
125
123
  end
126
124
 
127
125
  describe ".massage_time_attrs" do
128
126
  let(:meth) { :massage_time_attrs }
129
- subject { klass.method(meth) }
127
+ subject { described_class.method(meth) }
130
128
  its(:arity) { should eq(1) }
131
129
  let(:time) { Time.new(2013) }
132
130
  let(:attrs) { { key_one: time.to_s, key_two: { key_three: time, key_four: { key_five: time.to_s } } } }
133
131
  let(:expected) { { key_one: time, key_two: { key_three: time, key_four: { key_five: time } } } }
134
132
  it "should turn stringified time values into time objects" do
135
- expect(klass.send(meth, attrs)).to eq(expected)
133
+ expect(described_class.send(meth, attrs)).to eq(expected)
136
134
  end
137
135
  end
138
136
 
139
137
  describe ".massage_custom_field_attrs" do
140
138
  let(:meth) { :massage_custom_field_attrs }
141
- subject { klass.method(meth) }
139
+ subject { described_class.method(meth) }
142
140
  its(:arity) { should eq(1) }
143
141
  let(:custom_hash) { { "custom_fields" => {"boole"=>[nil, nil], "@type"=>"hash"} } }
144
142
  let(:expected) { { "custom_fields" => [{"name"=>"boole", "value"=>""}, {"name"=>"boole", "value"=>""}] } }
145
143
  it "should turn custom_hash into expected" do
146
- expect(klass.send(meth, custom_hash)).to eq(expected)
144
+ expect(described_class.send(meth, custom_hash)).to eq(expected)
147
145
  end
148
146
  it "should return the custom_hash in its form" do
149
- expect(klass.send(meth, expected)).to eq(expected)
147
+ expect(described_class.send(meth, expected)).to eq(expected)
150
148
  end
151
149
  let(:custom_hash_with_false) { { "custom_fields" => {"boole"=>false, "@type"=>"hash"} } }
152
150
  let(:expected_with_false) { { "custom_fields" => [{"name"=>"boole", "value"=>"false"}] } }
153
151
  it "should turn custom_hash into expected" do
154
- expect(klass.send(meth, custom_hash_with_false)).to eq(expected_with_false)
152
+ expect(described_class.send(meth, custom_hash_with_false)).to eq(expected_with_false)
155
153
  end
156
154
  end
157
155
 
@@ -167,11 +165,11 @@ describe Helix::Base do
167
165
  end
168
166
  end
169
167
 
170
- klasses = [ Helix::Album, Helix::Image, Helix::Playlist, Helix::Track, Helix::Video ]
171
- klasses.each do |klass|
168
+ described_classes = [ Helix::Album, Helix::Image, Helix::Playlist, Helix::Track, Helix::Video ]
169
+ described_classes.each do |described_class|
172
170
 
173
- describe "an instance of class #{klass.to_s}" do
174
- let(:obj) { klass.new({}) }
171
+ describe "an instance of class #{described_class.to_s}" do
172
+ let(:obj) { described_class.new({}) }
175
173
 
176
174
  ### INSTANCE METHODS
177
175
 
@@ -232,7 +230,7 @@ describe Helix::Base do
232
230
  describe "#guid_name" do
233
231
  let(:meth) { :guid_name }
234
232
  it "should delegate to the class" do
235
- klass.should_receive(meth) { :expected }
233
+ described_class.should_receive(meth) { :expected }
236
234
  expect(obj.send(meth)).to be(:expected)
237
235
  end
238
236
  end
@@ -249,13 +247,13 @@ describe Helix::Base do
249
247
  obj.stub(:massage_raw_attrs) { :massaged_attrs }
250
248
  mock_config.stub(:build_url) { :expected_url }
251
249
  mock_config.stub(:get_response) { :raw_attrs }
252
- klass.stub(:resource_label_sym) { :video }
250
+ described_class.stub(:resource_label_sym) { :video }
253
251
  end
254
252
  context "when given no argument" do
255
253
  it_behaves_like "builds URL for load"
256
- it "should call klass.get_response(output_of_build_url, {sig_type: :view}) and return instance of klass" do
254
+ it "should call described_class.get_response(output_of_build_url, {sig_type: :view}) and return instance of described_class" do
257
255
  mock_config.should_receive(:get_response).with(:expected_url, {sig_type: :view})
258
- expect(obj.send(meth)).to be_an_instance_of(klass)
256
+ expect(obj.send(meth)).to be_an_instance_of(described_class)
259
257
  end
260
258
  it "should massage the raw_attrs" do
261
259
  obj.should_receive(:massage_raw_attrs).with(:raw_attrs)
@@ -265,9 +263,9 @@ describe Helix::Base do
265
263
  context "when given an opts argument of {key1: :value1}" do
266
264
  let(:opts) { {key1: :value1} }
267
265
  it_behaves_like "builds URL for load"
268
- it "should call klass.get_response(output_of_build_url, opts.merge(sig_type: :view)) and return instance of klass" do
266
+ it "should call described_class.get_response(output_of_build_url, opts.merge(sig_type: :view)) and return instance of described_class" do
269
267
  mock_config.should_receive(:get_response).with(:expected_url, opts.merge(sig_type: :view))
270
- expect(obj.send(meth, opts)).to be_an_instance_of(klass)
268
+ expect(obj.send(meth, opts)).to be_an_instance_of(described_class)
271
269
  end
272
270
  it "should massage the raw_attrs" do
273
271
  obj.should_receive(:massage_raw_attrs).with(:raw_attrs)
@@ -322,7 +320,7 @@ describe Helix::Base do
322
320
  context "and @attributes[method_sym.to_s] raises an exception" do
323
321
  before(:each) do mock_attributes.should_receive(:[]).with(method_sym.to_s).and_raise("some exception") end
324
322
  it "should raise a NoMethodError" do
325
- msg = "#{method_sym} is not recognized within #{klass}'s methods or @attributes"
323
+ msg = "#{method_sym} is not recognized within #{described_class}'s methods or @attributes"
326
324
  expect(lambda { obj.send(meth, method_sym) }).to raise_error(msg)
327
325
  end
328
326
  end
@@ -429,7 +427,7 @@ describe Helix::Base do
429
427
  subject { obj.method(meth) }
430
428
  its(:arity) { should eq(0) }
431
429
  it "should return the response from config" do
432
- obj.config.stub!(:response).and_return :some_response
430
+ allow(obj.config).to receive(:response).and_return(:some_response)
433
431
  expect(obj.send(meth)).to eq(obj.config.response)
434
432
  end
435
433
  end
@@ -11,56 +11,55 @@ describe Helix::Config do
11
11
  obj.stub(:signature) { 'some_sig' } if even_sig
12
12
  end
13
13
 
14
- let(:klass) { Helix::Config }
15
- let(:obj) { klass.instance }
14
+ let(:obj) { described_class.instance }
16
15
 
17
- subject { klass }
16
+ subject { described_class }
18
17
 
19
18
  its(:ancestors) { should include(Singleton) }
20
19
 
21
20
  describe "Constants" do
22
21
  describe "DEFAULT_FILENAME" do
23
- subject { klass::DEFAULT_FILENAME }
22
+ subject { described_class::DEFAULT_FILENAME }
24
23
  it { should eq('./helix.yml') }
25
24
  end
26
25
  describe "ITEMS_PER_PAGE" do
27
- subject { klass::ITEMS_PER_PAGE }
26
+ subject { described_class::ITEMS_PER_PAGE }
28
27
  it { should eq(100) }
29
28
  end
30
29
  describe "REQUIRES_CONTRIBUTOR" do
31
- subject { klass::REQUIRES_CONTRIBUTOR }
30
+ subject { described_class::REQUIRES_CONTRIBUTOR }
32
31
  it { should eq(Set.new([:ingest, :upload])) }
33
32
  end
34
33
  describe "SCOPES" do
35
- subject { klass::SCOPES }
34
+ subject { described_class::SCOPES }
36
35
  it { should eq([:reseller, :company, :library]) }
37
36
  end
38
37
  describe "SIG_DURATION" do
39
- subject { klass::SIG_DURATION }
38
+ subject { described_class::SIG_DURATION }
40
39
  it { should eq(1200) } # in minutes
41
40
  end
42
41
  describe "STARTING_PAGE" do
43
- subject { klass::STARTING_PAGE }
42
+ subject { described_class::STARTING_PAGE }
44
43
  it { should eq(1) }
45
44
  end
46
45
  describe "TIME_OFFSET" do
47
- subject { klass::TIME_OFFSET }
46
+ subject { described_class::TIME_OFFSET }
48
47
  it { should eq(1000 * 60) } # 1000 minutes
49
48
  end
50
49
  describe "VALID_SIG_TYPES" do
51
- subject { klass::VALID_SIG_TYPES }
50
+ subject { described_class::VALID_SIG_TYPES }
52
51
  it { should eq(Set.new([:ingest, :update, :upload, :view])) }
53
52
  end
54
53
  end
55
54
 
56
55
  describe ".load_from_hash & from_hash alias" do
57
56
  meths = [ :load_from_hash, :from_hash ]
58
- let(:mock_obj) { double(klass, proxy: :stubbed_proxy) }
57
+ let(:mock_obj) { double(described_class, proxy: :stubbed_proxy) }
59
58
  let(:mock_file) { double(File) }
60
59
  let(:mock_cred) { {key1: 'value1', 'key2' => 'value2'} }
61
60
  let(:symbolized_cred) { {key1: 'value1', key2: 'value2'} }
62
61
  before(:each) do
63
- klass.stub(:instance) { mock_obj }
62
+ described_class.stub(:instance) { mock_obj }
64
63
  File.stub(:open) { mock_file }
65
64
  YAML.stub(:load) { mock_cred }
66
65
  end
@@ -70,7 +69,7 @@ describe Helix::Config do
70
69
  it "should set the instance's credentials to the key-symbolized version of that Hash arg" do
71
70
  the_hash_arg.should_receive(:symbolize_keys) { :symbolized }
72
71
  mock_obj.should_receive(:instance_variable_set).with(:@credentials, :symbolized)
73
- klass.send(meth, the_hash_arg)
72
+ described_class.send(meth, the_hash_arg)
74
73
  end
75
74
  end
76
75
  end
@@ -78,76 +77,76 @@ describe Helix::Config do
78
77
 
79
78
  describe ".load_yaml_file & load alias" do
80
79
  meths = [ :load_yaml_file, :load ]
81
- let(:mock_obj) { double(klass, proxy: :stubbed_proxy) }
80
+ let(:mock_obj) { double(described_class, proxy: :stubbed_proxy) }
82
81
  let(:mock_file) { double(File) }
83
82
  let(:mock_cred) { {key1: 'value1', 'key2' => 'value2'} }
84
83
  let(:symbolized_cred) { {key1: 'value1', key2: 'value2'} }
85
84
  before(:each) do
86
- klass.stub(:instance) { mock_obj }
85
+ described_class.stub(:instance) { mock_obj }
87
86
  File.stub(:open) { mock_file }
88
87
  YAML.stub(:load) { mock_cred }
89
88
  mock_obj.stub(:instance_variable_set).with(:@credentials, anything)
90
89
  end
91
90
  meths.each do |meth|
92
91
  context "when given no arg" do
93
- before(:each) do mock_obj.stub(:instance_variable_set).with(:@filename, klass::DEFAULT_FILENAME) end
92
+ before(:each) do mock_obj.stub(:instance_variable_set).with(:@filename, described_class::DEFAULT_FILENAME) end
94
93
  it "should get the instance" do
95
- klass.should_receive(:instance) { mock_obj }
96
- klass.send(meth)
94
+ described_class.should_receive(:instance) { mock_obj }
95
+ described_class.send(meth)
97
96
  end
98
97
  it "should set @filename to DEFAULT_FILENAME" do
99
- mock_obj.should_receive(:instance_variable_set).with(:@filename, klass::DEFAULT_FILENAME)
100
- klass.send(meth)
98
+ mock_obj.should_receive(:instance_variable_set).with(:@filename, described_class::DEFAULT_FILENAME)
99
+ described_class.send(meth)
101
100
  end
102
101
  it "should File.open(@filename) -> f" do
103
- File.should_receive(:open).with(klass::DEFAULT_FILENAME) { mock_file }
104
- klass.send(meth)
102
+ File.should_receive(:open).with(described_class::DEFAULT_FILENAME) { mock_file }
103
+ described_class.send(meth)
105
104
  end
106
105
  it "should YAML.load(f) -> cred" do
107
106
  YAML.should_receive(:load).with(mock_file) { mock_cred }
108
- klass.send(meth)
107
+ described_class.send(meth)
109
108
  end
110
109
  it "should set @credentials to cred with symbol keys" do
111
- File.stub(:open).with(klass::DEFAULT_FILENAME) { mock_file }
110
+ File.stub(:open).with(described_class::DEFAULT_FILENAME) { mock_file }
112
111
  YAML.stub(:load).with(mock_file) { mock_cred }
113
112
  mock_obj.should_receive(:instance_variable_set).with(:@credentials, symbolized_cred)
114
- klass.send(meth)
113
+ described_class.send(meth)
115
114
  end
116
115
  it "should set the proxy" do
117
116
  mock_obj.should_receive(:proxy) { :mock_proxy }
118
- klass.send(meth)
117
+ described_class.send(meth)
119
118
  end
120
119
  it "should return the instance" do
121
- expect(klass.send(meth)).to be(mock_obj)
120
+ expect(described_class.send(meth)).to be(mock_obj)
122
121
  end
123
122
  end
124
123
  context "when given the arg 'some_file.yml'" do
125
124
  let(:yaml_arg) { 'some_file.yml' }
126
125
  before(:each) do mock_obj.stub(:instance_variable_set).with(:@filename, yaml_arg) end
127
126
  it "should get the instance" do
128
- klass.should_receive(:instance) { mock_obj }
129
- klass.send(meth, yaml_arg)
127
+ described_class.should_receive(:instance) { mock_obj }
128
+ described_class.send(meth, yaml_arg)
130
129
  end
131
130
  it "should set @filename to DEFAULT_FILENAME" do
132
131
  mock_obj.should_receive(:instance_variable_set).with(:@filename, yaml_arg)
133
- klass.send(meth, yaml_arg)
132
+ described_class.send(meth, yaml_arg)
134
133
  end
135
134
  it "should File.open(@filename) -> f" do
136
135
  File.should_receive(:open).with(yaml_arg) { mock_file }
137
- klass.send(meth, yaml_arg)
136
+ described_class.send(meth, yaml_arg)
138
137
  end
139
138
  it "should YAML.load(f) -> cred" do
140
139
  YAML.should_receive(:load).with(mock_file) { mock_cred }
141
- klass.send(meth, yaml_arg)
140
+ described_class.send(meth, yaml_arg)
142
141
  end
143
142
  it "should set @credentials to cred with symbol keys" do
144
- File.stub(:open).with(klass::DEFAULT_FILENAME) { mock_file }
143
+ File.stub(:open).with(described_class::DEFAULT_FILENAME) { mock_file }
145
144
  YAML.stub(:load).with(mock_file) { mock_cred }
146
145
  mock_obj.should_receive(:instance_variable_set).with(:@credentials, symbolized_cred)
147
- klass.send(meth, yaml_arg)
146
+ described_class.send(meth, yaml_arg)
148
147
  end
149
148
  it "should return the instance" do
150
- expect(klass.send(meth, yaml_arg)).to be(mock_obj)
149
+ expect(described_class.send(meth, yaml_arg)).to be(mock_obj)
151
150
  end
152
151
  end
153
152
  end
@@ -583,7 +582,7 @@ describe Helix::Config do
583
582
  it "sets a new sig expiration time" do
584
583
  mock_time = double(Time)
585
584
  Time.should_receive(:now) { mock_time }
586
- mock_time.should_receive(:+).with(klass::TIME_OFFSET) { :new_time }
585
+ mock_time.should_receive(:+).with(described_class::TIME_OFFSET) { :new_time }
587
586
  obj.send(meth, sig_type)
588
587
  expect(obj.instance_variable_get(:@signature_expiration_for)[license_key][sig_type]).to eq(:new_time)
589
588
  end
@@ -646,7 +645,7 @@ describe Helix::Config do
646
645
  let(:not_expired_time) { Time.now + 10 }
647
646
  before do obj.instance_variable_set(:@signature_expiration_for, {license_key => {:ingest => not_expired_time}}) end
648
647
  it "should return true" do
649
- expect(obj.send(meth, :ingest)).to be_true
648
+ expect(obj.send(meth, :ingest)).to eq(true)
650
649
  end
651
650
  end
652
651
  end
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::Document do
5
5
 
6
- klass = Helix::Document
7
- subject { klass }
6
+ subject { described_class }
8
7
  mods = [ Helix::Base, Helix::Media ]
9
8
  mods.each { |mod| its(:ancestors) { should include(mod) } }
10
9
  its(:guid_name) { should eq('document_id') }
@@ -19,7 +18,7 @@ describe Helix::Document do
19
18
  ### INSTANCE METHODS
20
19
 
21
20
  describe "an instance" do
22
- obj = klass.new({'document_id' => 'some_document_guid'})
21
+ obj = described_class.new({'document_id' => 'some_document_guid'})
23
22
  subject { obj }
24
23
  its(:resource_label_sym) { should be(:document) }
25
24
  [:destroy, :update].each do |crud_call|
@@ -34,30 +33,30 @@ describe Helix::Document do
34
33
  describe ".upload_sig_opts" do
35
34
  let(:meth) { :upload_sig_opts }
36
35
  let(:mock_config) { double(Helix::Config, credentials: {}) }
37
- subject { klass.method(meth) }
36
+ subject { described_class.method(meth) }
38
37
  its(:arity) { should eq(0) }
39
- it "should be private" do expect(klass.private_methods).to include(meth) end
38
+ it "should be private" do expect(described_class.private_methods).to include(meth) end
40
39
  context "when called" do
41
- subject { klass.send(meth) }
42
- before(:each) do klass.stub(:config) { mock_config } end
43
- it "should be a Hash" do expect(klass.send(meth)).to be_a(Hash) end
40
+ subject { described_class.send(meth) }
41
+ before(:each) do described_class.stub(:config) { mock_config } end
42
+ it "should be a Hash" do expect(described_class.send(meth)).to be_a(Hash) end
44
43
  its(:keys) { should match_array([:contributor, :company_id, :library_id]) }
45
44
  context "the value for :contributor" do
46
45
  it "should be config.credentials[:contributor]" do
47
46
  mock_config.should_receive(:credentials) { {contributor: :expected_contributor} }
48
- expect(klass.send(meth)[:contributor]).to be(:expected_contributor)
47
+ expect(described_class.send(meth)[:contributor]).to be(:expected_contributor)
49
48
  end
50
49
  end
51
50
  context "the value for :company_id" do
52
51
  it "should be config.credentials[:company]" do
53
52
  mock_config.should_receive(:credentials) { {company: :expected_company} }
54
- expect(klass.send(meth)[:company_id]).to be(:expected_company)
53
+ expect(described_class.send(meth)[:company_id]).to be(:expected_company)
55
54
  end
56
55
  end
57
56
  context "the value for :library_id" do
58
57
  it "should be config.credentials[:library]" do
59
58
  mock_config.should_receive(:credentials) { {library: :expected_library} }
60
- expect(klass.send(meth)[:library_id]).to be(:expected_library)
59
+ expect(described_class.send(meth)[:library_id]).to be(:expected_library)
61
60
  end
62
61
  end
63
62
  end
@@ -9,7 +9,7 @@ describe Helix::Durationed do
9
9
 
10
10
  klasses = [ Helix::Video, Helix::Track ]
11
11
  klasses.each do |klass|
12
- subject { klass }
12
+ subject { klass }
13
13
  mods = [ Helix::Base, Helix::Durationed, Helix::Media ]
14
14
  mods.each { |mod| its(:ancestors) { should include(mod) } }
15
15
 
@@ -2,7 +2,6 @@ require File.expand_path('../spec_helper', __FILE__)
2
2
  require 'helix'
3
3
 
4
4
  describe Helix do
5
- let(:klass) { Helix }
6
5
 
7
6
  describe "Constants"
8
7
 
@@ -10,17 +9,17 @@ describe Helix do
10
9
  let(:meth) { :scope_to_company }
11
10
  let(:the_co_id) { :the_co_id }
12
11
  describe "arity" do
13
- subject { klass.method(meth) }
12
+ subject { described_class.method(meth) }
14
13
  its(:arity) { should eq(1) }
15
14
  end
16
15
  it "should add the company arg to credentials" do
17
- klass.send(meth, the_co_id)
16
+ described_class.send(meth, the_co_id)
18
17
  expect(Helix::Config.instance.credentials).to include(company: the_co_id)
19
18
  end
20
19
  it "should clear any pre-exisiting library from credentials" do
21
- klass.send(:scope_to_library, :the_lib_name)
20
+ described_class.send(:scope_to_library, :the_lib_name)
22
21
  expect(Helix::Config.instance.credentials).to include(library: :the_lib_name)
23
- klass.send(meth, the_co_id)
22
+ described_class.send(meth, the_co_id)
24
23
  expect(Helix::Config.instance.credentials.keys).not_to include(:library)
25
24
  end
26
25
  end
@@ -29,11 +28,11 @@ describe Helix do
29
28
  let(:meth) { :scope_to_library }
30
29
  let(:the_lib_name) { :the_lib_name }
31
30
  describe "arity" do
32
- subject { klass.method(meth) }
31
+ subject { described_class.method(meth) }
33
32
  its(:arity) { should eq(1) }
34
33
  end
35
34
  it "should add the library arg to credentials" do
36
- klass.send(meth, the_lib_name)
35
+ described_class.send(meth, the_lib_name)
37
36
  expect(Helix::Config.instance.credentials).to include(library: the_lib_name)
38
37
  end
39
38
  end
@@ -42,11 +41,11 @@ describe Helix do
42
41
  let(:meth) { :set_license_key }
43
42
  let(:the_key) { :alicense_key }
44
43
  describe "arity" do
45
- subject { klass.method(meth) }
44
+ subject { described_class.method(meth) }
46
45
  its(:arity) { should eq(1) }
47
46
  end
48
47
  it "should add the license_key arg to credentials" do
49
- klass.send(meth, the_key)
48
+ described_class.send(meth, the_key)
50
49
  Helix::Config.instance.credentials.should include(license_key: the_key)
51
50
  end
52
51
  end
@@ -2,9 +2,8 @@ require File.expand_path('../spec_helper', __FILE__)
2
2
  require 'helix'
3
3
 
4
4
  describe Helix::Image do
5
- let(:klass) { Helix::Image }
6
5
 
7
- subject { klass }
6
+ subject { described_class }
8
7
  mods = [ Helix::Base, Helix::Media ]
9
8
  mods.each { |mod| its(:ancestors) { should include(mod) } }
10
9
  its(:guid_name) { should eq('image_id') }
@@ -17,7 +16,7 @@ describe Helix::Image do
17
16
  describe "Constants"
18
17
 
19
18
  describe "an instance" do
20
- let(:obj) { klass.new({'image_id' => 'some_image_guid'}) }
19
+ let(:obj) { described_class.new({'image_id' => 'some_image_guid'}) }
21
20
  subject { obj }
22
21
  its(:resource_label_sym) { should be(:image) }
23
22
  [:destroy, :update].each do |crud_call|
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::Library do
5
5
 
6
- let(:klass) { Helix::Library }
7
- subject { klass }
6
+ subject { described_class }
8
7
 
9
8
  mods = [ Helix::Base, Helix::RESTful ]
10
9
  mods.each { |mod| its(:ancestors) { should include(mod) } }
@@ -21,19 +20,19 @@ describe Helix::Library do
21
20
 
22
21
  describe ".process_opts" do
23
22
  context "opts is {content_type: :json}" do
24
- it { klass.process_opts({content_type: :json}).should eq({ content_type: :json }) }
23
+ it { described_class.process_opts({content_type: :json}).should eq({ content_type: :json }) }
25
24
  end
26
25
  context "opts is {content_type: :xml}" do
27
- it { klass.process_opts({content_type: :xml}).should eq({ content_type: :xml }) }
26
+ it { described_class.process_opts({content_type: :xml}).should eq({ content_type: :xml }) }
28
27
  end
29
28
  context "when opts is {k: :v}" do
30
- it { klass.process_opts({k: :v}).should eq({ k: :v, content_type: :xml }) }
29
+ it { described_class.process_opts({k: :v}).should eq({ k: :v, content_type: :xml }) }
31
30
  end
32
31
  end
33
32
 
34
33
  describe "an instance" do
35
- let(:obj) { klass.new({'library_id' => 'some_library_id'}) }
36
- subject { obj }
34
+ let(:obj) { described_class.new({'library_id' => 'some_library_id'}) }
35
+ subject { obj }
37
36
  its(:resource_label_sym) { should be(:library) }
38
37
  [:destroy, :update].each do |crud_call|
39
38
  it { should respond_to(crud_call) }
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::Playlist do
5
5
 
6
- let(:klass) { Helix::Playlist }
7
- subject { klass }
6
+ subject { described_class }
8
7
  mods = [ Helix::Base, Helix::RESTful ]
9
8
  mods.each { |mod| its(:ancestors) { should include(mod) } }
10
9
  its(:guid_name) { should eq('id') }
@@ -19,7 +18,7 @@ describe Helix::Playlist do
19
18
  ### INSTANCE METHODS
20
19
 
21
20
  describe "an instance" do
22
- let(:obj) { klass.new({playlist_id: 'some_playlist_guid'}) }
21
+ let(:obj) { described_class.new({playlist_id: 'some_playlist_guid'}) }
23
22
  subject { obj }
24
23
  its(:resource_label_sym) { should be(:playlist) }
25
24
 
@@ -10,4 +10,4 @@ require 'support/downloads'
10
10
  require 'support/upload_sig_opts'
11
11
  require 'support/plays'
12
12
  require 'support/uploads'
13
-
13
+ require 'rspec/its'
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::Tag do
5
5
 
6
- let(:klass) { Helix::Tag }
7
- subject { klass }
6
+ subject { described_class }
8
7
  its(:resource_label_sym) { should be(:tag) }
9
8
  its(:plural_resource_label) { should eq('tags') }
10
9
  it { should_not respond_to(:find) }
@@ -18,25 +17,25 @@ describe Helix::Tag do
18
17
  let(:raw_response) { {"tags" => :expected} }
19
18
  let(:mock_config) { double(Helix::Config, build_url: :the_url, get_response: raw_response) }
20
19
  let(:opts) { {} }
21
- before(:each) { klass.stub(:config) { mock_config }}
20
+ before(:each) { described_class.stub(:config) { mock_config }}
22
21
  bu_opts = {content_type: :xml, resource_label: "tags"}
23
22
  it "should receive build_url(#{bu_opts})" do
24
23
  mock_config.should_receive(:build_url).with(bu_opts) { :the_url }
25
- klass.send(meth, opts)
24
+ described_class.send(meth, opts)
26
25
  end
27
26
  it "should call mock_config.get_response()" do
28
27
  mock_config.should_receive(:get_response).with(:the_url, {sig_type: :view}.merge(opts)) { raw_response }
29
- klass.send(meth, opts)
28
+ described_class.send(meth, opts)
30
29
  end
31
30
  it "should return raw_response[:tags]" do
32
- expect(klass.send(meth, opts)).to eq(:expected)
31
+ expect(described_class.send(meth, opts)).to eq(:expected)
33
32
  end
34
33
  end
35
34
 
36
35
  describe "Constants"
37
36
 
38
37
  describe "an instance" do
39
- let(:obj) { klass.new({}) }
38
+ let(:obj) { described_class.new({}) }
40
39
  subject { obj }
41
40
  its(:resource_label_sym) { should be(:tag) }
42
41
  it { should_not respond_to(:destroy) }
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::Track do
5
5
 
6
- klass = Helix::Track
7
- subject { klass }
6
+ subject { described_class }
8
7
  mods = [ Helix::Base, Helix::Durationed, Helix::Media ]
9
8
  mods.each { |mod| its(:ancestors) { should include(mod) } }
10
9
  its(:guid_name) { should eq('track_id') }
@@ -19,7 +18,7 @@ describe Helix::Track do
19
18
  ### INSTANCE METHODS
20
19
 
21
20
  describe "an instance" do
22
- obj = klass.new({'track_id' => 'some_track_guid'})
21
+ obj = described_class.new({'track_id' => 'some_track_guid'})
23
22
  subject { obj }
24
23
  its(:resource_label_sym) { should be(:track) }
25
24
  [:destroy, :update].each do |crud_call|
@@ -3,8 +3,7 @@ require 'helix'
3
3
 
4
4
  describe Helix::User do
5
5
 
6
- let(:klass) { Helix::User }
7
- subject { klass }
6
+ subject { described_class }
8
7
 
9
8
  mods = [ Helix::Base, Helix::RESTful ]
10
9
  mods.each { |mod| its(:ancestors) { should include(mod) } }
@@ -20,8 +19,8 @@ describe Helix::User do
20
19
  describe "Constants"
21
20
 
22
21
  describe "an instance" do
23
- let(:obj) { klass.new({}) }
24
- subject { obj }
22
+ let(:obj) { described_class.new({}) }
23
+ subject { obj }
25
24
  its(:resource_label_sym) { should be(:user) }
26
25
  [:destroy, :update].each do |crud_call|
27
26
  it { should respond_to(crud_call) }
@@ -7,8 +7,7 @@ describe Helix::Video do
7
7
  { list: { entry: values[:url_params] || {} } }.to_xml(root: :add)
8
8
  end
9
9
 
10
- klass = Helix::Video
11
- subject { klass }
10
+ subject { described_class }
12
11
  mods = [ Helix::Base, Helix::Durationed, Helix::Media ]
13
12
  mods.each { |mod| its(:ancestors) { should include(mod) } }
14
13
  its(:guid_name) { should eq('video_id') }
@@ -23,7 +22,7 @@ describe Helix::Video do
23
22
  ### INSTANCE METHODS
24
23
 
25
24
  describe "an instance" do
26
- obj = klass.new({video_id: 'some_video_guid'})
25
+ obj = described_class.new({video_id: 'some_video_guid'})
27
26
  subject { obj }
28
27
  its(:resource_label_sym) { should be(:video) }
29
28
 
@@ -37,7 +36,7 @@ describe Helix::Video do
37
36
  its(:arity) { should eq(-1) }
38
37
  it "should call self.class.get_stillframe" do
39
38
  obj.stub(:guid) { :some_guid }
40
- klass.should_receive(:stillframe_for)
39
+ described_class.should_receive(:stillframe_for)
41
40
  obj.send(meth)
42
41
  end
43
42
  end
@@ -129,7 +128,7 @@ describe Helix::Video do
129
128
  describe ".slice" do
130
129
  let(:meth) { :slice }
131
130
  let(:mock_config) { double(Helix::Config) }
132
- subject { klass.method(meth) }
131
+ subject { described_class.method(meth) }
133
132
  its(:arity) { should eq(-1) }
134
133
  let(:params) { { params: { signature: :some_sig },
135
134
  content_type: "text/xml" } }
@@ -146,14 +145,14 @@ describe Helix::Video do
146
145
  mock_config.should_receive(:build_url).with(url_opts)
147
146
  mock_config.should_receive(:signature).with(:ingest, sig_opts) { :some_sig }
148
147
  RestClient.should_receive(:post).with(nil, import_xml, params)
149
- klass.send(meth, {formats: :some_format})
148
+ described_class.send(meth, {formats: :some_format})
150
149
  end
151
150
  end
152
151
 
153
152
  describe ".stillframe_for" do
154
153
  let(:meth) { :stillframe_for }
155
154
  let(:mock_config) { double(Helix::Config) }
156
- subject { klass.method(meth) }
155
+ subject { described_class.method(meth) }
157
156
  its(:arity) { should eq(-2) }
158
157
  let(:image_data) { :some_image_data }
159
158
  let(:guid) { :some_guid }
@@ -163,7 +162,7 @@ describe Helix::Video do
163
162
  let(:full_url) { "#{base_url}original.jpg" }
164
163
  it "should build the correct url and return data" do
165
164
  RestClient.should_receive(:get).with(full_url) { image_data }
166
- expect(klass.send(meth, guid)).to eq(image_data)
165
+ expect(described_class.send(meth, guid)).to eq(image_data)
167
166
  end
168
167
  end
169
168
  [:height, :width].each do |dimension|
@@ -175,11 +174,11 @@ describe Helix::Video do
175
174
  it "should clone the opts arg" do
176
175
  RestClient.stub(:get).with(full_url) { image_data }
177
176
  opts.should_receive(:clone) { opts }
178
- klass.send(meth, guid, opts)
177
+ described_class.send(meth, guid, opts)
179
178
  end
180
179
  it "should build the correct url and return data" do
181
180
  RestClient.should_receive(:get).with(full_url) { image_data }
182
- expect(klass.send(meth, guid, opts)).to eq(image_data)
181
+ expect(described_class.send(meth, guid, opts)).to eq(image_data)
183
182
  end
184
183
  end
185
184
  end
@@ -190,11 +189,11 @@ describe Helix::Video do
190
189
  it "should clone the opts arg" do
191
190
  RestClient.stub(:get).with(full_url) { image_data }
192
191
  opts.should_receive(:clone) { opts }
193
- klass.send(meth, guid, opts)
192
+ described_class.send(meth, guid, opts)
194
193
  end
195
194
  it "should build the correct url and return data" do
196
195
  RestClient.should_receive(:get).with(full_url) { image_data }
197
- expect(klass.send(meth, guid, opts)).to eq(image_data)
196
+ expect(described_class.send(meth, guid, opts)).to eq(image_data)
198
197
  end
199
198
  end
200
199
  end
metadata CHANGED
@@ -1,63 +1,107 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5.1.pre
4
+ version: 0.0.5.2.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twistage, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-03 00:00:00.000000000 Z
11
+ date: 2015-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 1.5.4
19
+ version: 1.8.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 1.5.4
26
+ version: 1.8.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rest-client
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.6.7
33
+ version: 1.7.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 1.6.7
40
+ version: 1.7.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nori
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 1.1.3
47
+ version: 2.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 1.1.3
54
+ version: 2.4.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: 3.2.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 3.2.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-its
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 1.2.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.2.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.2
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.9.2
55
97
  description: Provides helper libraries for Ruby access to the Twistage API
56
98
  email: kevin.baird@perceptivesoftware.com, michael.wood@perceptivesoftware.com
57
99
  executables: []
58
100
  extensions: []
59
101
  extra_rdoc_files: []
60
102
  files:
103
+ - LICENSE
104
+ - README.md
61
105
  - lib/helix.rb
62
106
  - lib/helix/album.rb
63
107
  - lib/helix/audio_playlist.rb
@@ -102,8 +146,6 @@ files:
102
146
  - spec/track_spec.rb
103
147
  - spec/user_spec.rb
104
148
  - spec/video_spec.rb
105
- - LICENSE
106
- - README.md
107
149
  homepage: https://github.com/Twistage/helix/
108
150
  licenses:
109
151
  - 3-Clause BSD
@@ -124,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
166
  version: 1.3.1
125
167
  requirements: []
126
168
  rubyforge_project:
127
- rubygems_version: 2.1.4
169
+ rubygems_version: 2.4.3
128
170
  signing_key:
129
171
  specification_version: 4
130
172
  summary: Wrapper library for the video API