helix 0.0.5.1.pre → 0.0.5.2.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/README.md +9 -9
- data/lib/helix/paginates.rb +2 -2
- data/lib/helix/restful.rb +2 -0
- data/lib/helix/tag.rb +0 -5
- data/spec/album_spec.rb +2 -3
- data/spec/base_spec.rb +34 -36
- data/spec/config_spec.rb +37 -38
- data/spec/document_spec.rb +10 -11
- data/spec/durationed_spec.rb +1 -1
- data/spec/helix_spec.rb +8 -9
- data/spec/image_spec.rb +2 -3
- data/spec/library_spec.rb +6 -7
- data/spec/playlist_spec.rb +2 -3
- data/spec/spec_helper.rb +1 -1
- data/spec/tag_spec.rb +6 -7
- data/spec/track_spec.rb +2 -3
- data/spec/user_spec.rb +3 -4
- data/spec/video_spec.rb +11 -12
- metadata +59 -17
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjhmM2QxN2UxMzlmZDM5MzkzYmMzODYwYzNmZDExOWQ1ZDBiZTg3ZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjdhNzBjN2UzOGY3NDM2ZWRiNjU3NTcxNWNlOTAxZGFmZTNiNTUyMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZjE3ZGNjMGU3MDY4YTQ2N2Q1YWRlZTNmNzE4YWJlYWQwMTg3NzlkMjc2ZjQw
|
10
|
+
YTEwMzM1ZDBkMzUxODdhMGEwODU1OTA2MzA1MDUwZmM2YzczYmFjNWU2OWQ1
|
11
|
+
ODY2ZDg5YWMzYzA5NjljNDQwMjQ3Y2E1N2M4ODQ0Y2UxNDA4YWE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODljZjhkNGM5ZmIxMWMwNjYxZjVhMmI2ZWIzOTZlZGRhNDQwMTI1ZDc3ZTk3
|
14
|
+
NTU3NzI2OTFhYTUwNDY0OWJjYjg3OTk1YWQ5MTc1ZjM3YjFhMmYyYzEyMTQ1
|
15
|
+
MjUxMDA2Yzg1Y2I5MzYzZDRlZmZhNTg0ZGNlOGUzMTNlYzU3OGU=
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# Helix [](https://codeclimate.com/github/
|
1
|
+
# Helix [](https://codeclimate.com/github/Perceptive-Cloud/helix)
|
2
2
|
|
3
|
-
The Helix gem allows developers to easily connect to and manipulate the
|
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:
|
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:
|
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:
|
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
|
-
|
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 [
|
96
|
+
Helix is maintained and funded by [Perceptive Software](http://www.perceptivesoftware.com)
|
97
97
|
|
98
|
-
The names and logos for
|
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-
|
103
|
+
Helix is Copyright © 2008-2014 Perceptive Software.
|
data/lib/helix/paginates.rb
CHANGED
@@ -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
|
-
|
83
|
+
parser = Nori.new(parser: :nokogiri)
|
84
84
|
xml = response.gsub(/<custom-fields type='array'>/, "<custom-fields type='hash'>")
|
85
|
-
|
85
|
+
parser.parse(xml)
|
86
86
|
end
|
87
87
|
|
88
88
|
end
|
data/lib/helix/restful.rb
CHANGED
data/lib/helix/tag.rb
CHANGED
data/spec/album_spec.rb
CHANGED
@@ -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 {
|
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) {
|
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
|
data/spec/base_spec.rb
CHANGED
@@ -3,13 +3,11 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Base do
|
5
5
|
|
6
|
-
|
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 {
|
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 {
|
19
|
+
subject { described_class.method(meth) }
|
22
20
|
its(:arity) { should eq(0) }
|
23
21
|
describe "when called" do
|
24
|
-
subject {
|
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 {
|
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 {
|
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
|
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
|
-
|
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 {
|
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
|
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
|
-
|
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 {
|
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 {
|
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
|
-
|
122
|
-
|
123
|
-
|
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 {
|
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(
|
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 {
|
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(
|
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(
|
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(
|
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
|
-
|
171
|
-
|
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 #{
|
174
|
-
let(:obj) {
|
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
|
-
|
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
|
-
|
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
|
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(
|
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
|
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(
|
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 #{
|
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.
|
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
|
data/spec/config_spec.rb
CHANGED
@@ -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(:
|
15
|
-
let(:obj) { klass.instance }
|
14
|
+
let(:obj) { described_class.instance }
|
16
15
|
|
17
|
-
subject {
|
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 {
|
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 {
|
26
|
+
subject { described_class::ITEMS_PER_PAGE }
|
28
27
|
it { should eq(100) }
|
29
28
|
end
|
30
29
|
describe "REQUIRES_CONTRIBUTOR" do
|
31
|
-
subject {
|
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 {
|
34
|
+
subject { described_class::SCOPES }
|
36
35
|
it { should eq([:reseller, :company, :library]) }
|
37
36
|
end
|
38
37
|
describe "SIG_DURATION" do
|
39
|
-
subject {
|
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 {
|
42
|
+
subject { described_class::STARTING_PAGE }
|
44
43
|
it { should eq(1) }
|
45
44
|
end
|
46
45
|
describe "TIME_OFFSET" do
|
47
|
-
subject {
|
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 {
|
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(
|
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
|
-
|
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
|
-
|
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(
|
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
|
-
|
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,
|
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
|
-
|
96
|
-
|
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,
|
100
|
-
|
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(
|
104
|
-
|
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
|
-
|
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(
|
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
|
-
|
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
|
-
|
117
|
+
described_class.send(meth)
|
119
118
|
end
|
120
119
|
it "should return the instance" do
|
121
|
-
expect(
|
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
|
-
|
129
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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(
|
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
|
-
|
146
|
+
described_class.send(meth, yaml_arg)
|
148
147
|
end
|
149
148
|
it "should return the instance" do
|
150
|
-
expect(
|
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(
|
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
|
648
|
+
expect(obj.send(meth, :ingest)).to eq(true)
|
650
649
|
end
|
651
650
|
end
|
652
651
|
end
|
data/spec/document_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Document do
|
5
5
|
|
6
|
-
|
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 =
|
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 {
|
36
|
+
subject { described_class.method(meth) }
|
38
37
|
its(:arity) { should eq(0) }
|
39
|
-
it "should be private" do expect(
|
38
|
+
it "should be private" do expect(described_class.private_methods).to include(meth) end
|
40
39
|
context "when called" do
|
41
|
-
subject {
|
42
|
-
before(:each) do
|
43
|
-
it "should be a Hash" do expect(
|
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(
|
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(
|
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(
|
59
|
+
expect(described_class.send(meth)[:library_id]).to be(:expected_library)
|
61
60
|
end
|
62
61
|
end
|
63
62
|
end
|
data/spec/durationed_spec.rb
CHANGED
@@ -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
|
12
|
+
subject { klass }
|
13
13
|
mods = [ Helix::Base, Helix::Durationed, Helix::Media ]
|
14
14
|
mods.each { |mod| its(:ancestors) { should include(mod) } }
|
15
15
|
|
data/spec/helix_spec.rb
CHANGED
@@ -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 {
|
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
|
-
|
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
|
-
|
20
|
+
described_class.send(:scope_to_library, :the_lib_name)
|
22
21
|
expect(Helix::Config.instance.credentials).to include(library: :the_lib_name)
|
23
|
-
|
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 {
|
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
|
-
|
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 {
|
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
|
-
|
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
|
data/spec/image_spec.rb
CHANGED
@@ -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 {
|
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) {
|
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|
|
data/spec/library_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Library do
|
5
5
|
|
6
|
-
|
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 {
|
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 {
|
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 {
|
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)
|
36
|
-
subject
|
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) }
|
data/spec/playlist_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Playlist do
|
5
5
|
|
6
|
-
|
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) {
|
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
|
|
data/spec/spec_helper.rb
CHANGED
data/spec/tag_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Tag do
|
5
5
|
|
6
|
-
|
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) {
|
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
|
-
|
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
|
-
|
28
|
+
described_class.send(meth, opts)
|
30
29
|
end
|
31
30
|
it "should return raw_response[:tags]" do
|
32
|
-
expect(
|
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) {
|
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) }
|
data/spec/track_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::Track do
|
5
5
|
|
6
|
-
|
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 =
|
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|
|
data/spec/user_spec.rb
CHANGED
@@ -3,8 +3,7 @@ require 'helix'
|
|
3
3
|
|
4
4
|
describe Helix::User do
|
5
5
|
|
6
|
-
|
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)
|
24
|
-
subject
|
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) }
|
data/spec/video_spec.rb
CHANGED
@@ -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
|
-
|
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 =
|
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
|
-
|
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 {
|
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
|
-
|
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 {
|
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(
|
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
|
-
|
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(
|
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
|
-
|
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(
|
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.
|
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:
|
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.
|
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.
|
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.
|
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.
|
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:
|
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:
|
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.
|
169
|
+
rubygems_version: 2.4.3
|
128
170
|
signing_key:
|
129
171
|
specification_version: 4
|
130
172
|
summary: Wrapper library for the video API
|