namely 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +22 -24
- data/lib/namely.rb +2 -101
- data/lib/namely/authenticator.rb +61 -14
- data/lib/namely/collection.rb +78 -0
- data/lib/namely/connection.rb +90 -0
- data/lib/namely/exceptions.rb +0 -3
- data/lib/namely/model.rb +78 -0
- data/lib/namely/resource_gateway.rb +7 -2
- data/lib/namely/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/{country_head.yml → countries_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_head_missing.yml → countries_head_missing.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_index.yml → countries_index.yml} +6 -6
- data/spec/fixtures/vcr_cassettes/{country_show.yml → countries_show.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_show_missing.yml → countries_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/{currencytype_index.yml → currency_types_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/current_user.yml +57 -0
- data/spec/fixtures/vcr_cassettes/{event_head.yml → events_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{event_head_missing.yml → events_head_missing.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/events_index.yml +89 -0
- data/spec/fixtures/vcr_cassettes/{event_show.yml → events_show.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/{event_show_missing.yml → events_show_missing.yml} +6 -6
- data/spec/fixtures/vcr_cassettes/fields_index.yml +48 -0
- data/spec/fixtures/vcr_cassettes/{jobtier_index.yml → job_tiers_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/{field_index.yml → profiles/fields_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/profiles_create.yml +85 -0
- data/spec/fixtures/vcr_cassettes/{profile_create_failed.yml → profiles_create_failed.yml} +9 -10
- data/spec/fixtures/vcr_cassettes/{profile_head.yml → profiles_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{profile_head_missing.yml → profiles_head_missing.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/profiles_index.yml +981 -0
- data/spec/fixtures/vcr_cassettes/{profile_show.yml → profiles_show.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{profile_show_missing.yml → profiles_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/profiles_show_updated.yml +91 -0
- data/spec/fixtures/vcr_cassettes/profiles_update.yml +95 -0
- data/spec/fixtures/vcr_cassettes/profiles_update_revert.yml +95 -0
- data/spec/fixtures/vcr_cassettes/{report_head.yml → reports_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{report_head_missing.yml → reports_head_missing.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/reports_show.yml +186 -0
- data/spec/fixtures/vcr_cassettes/{report_show_missing.yml → reports_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/token.yml +6 -6
- data/spec/namely/authenticator_spec.rb +36 -0
- data/spec/namely/connection_spec.rb +15 -0
- data/spec/namely/integration_spec.rb +94 -0
- data/spec/namely/resource_gateway_spec.rb +18 -10
- data/spec/shared_examples/a_resource_with_a_create_action.rb +24 -0
- data/spec/shared_examples/a_resource_with_a_show_action.rb +38 -0
- data/spec/shared_examples/a_resource_with_an_index_action.rb +15 -0
- data/spec/shared_examples/{a_model_with_an_update_action.rb → a_resource_with_an_update_action.rb} +10 -9
- data/spec/spec_helper.rb +0 -17
- metadata +75 -88
- data/lib/namely/country.rb +0 -9
- data/lib/namely/currency_type.rb +0 -9
- data/lib/namely/event.rb +0 -9
- data/lib/namely/field.rb +0 -9
- data/lib/namely/job_tier.rb +0 -9
- data/lib/namely/profile.rb +0 -13
- data/lib/namely/report.rb +0 -9
- data/lib/namely/restful_model.rb +0 -150
- data/spec/fixtures/vcr_cassettes/event_index.yml +0 -88
- data/spec/fixtures/vcr_cassettes/profile_create.yml +0 -85
- data/spec/fixtures/vcr_cassettes/profile_index.yml +0 -979
- data/spec/fixtures/vcr_cassettes/profile_show_updated.yml +0 -91
- data/spec/fixtures/vcr_cassettes/profile_update.yml +0 -95
- data/spec/fixtures/vcr_cassettes/profile_update_revert.yml +0 -95
- data/spec/fixtures/vcr_cassettes/report_show.yml +0 -185
- data/spec/namely/configuration_spec.rb +0 -33
- data/spec/namely/country_spec.rb +0 -11
- data/spec/namely/currency_type_spec.rb +0 -5
- data/spec/namely/event_spec.rb +0 -11
- data/spec/namely/field_spec.rb +0 -5
- data/spec/namely/job_tier_spec.rb +0 -5
- data/spec/namely/profile_spec.rb +0 -25
- data/spec/namely/report_spec.rb +0 -8
- data/spec/shared_examples/a_model_with_a_create_action.rb +0 -24
- data/spec/shared_examples/a_model_with_a_show_action.rb +0 -38
- data/spec/shared_examples/a_model_with_an_index_action.rb +0 -17
@@ -1,33 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Namely::Configuration do
|
4
|
-
before :each do
|
5
|
-
unset_configuration!
|
6
|
-
end
|
7
|
-
|
8
|
-
after :each do
|
9
|
-
set_configuration!
|
10
|
-
end
|
11
|
-
|
12
|
-
it "contains a subdomain and access_token when those have been set" do
|
13
|
-
Namely.configure do |config|
|
14
|
-
config.access_token = "my_token"
|
15
|
-
config.subdomain = "my_subdomain"
|
16
|
-
end
|
17
|
-
|
18
|
-
expect(Namely.configuration.access_token).to eq "my_token"
|
19
|
-
expect(Namely.configuration.subdomain).to eq "my_subdomain"
|
20
|
-
end
|
21
|
-
|
22
|
-
it "raises an error when the configuration block hasn't been run" do
|
23
|
-
expect { Namely.configuration }.to raise_error Namely::ImproperlyConfiguredError
|
24
|
-
end
|
25
|
-
|
26
|
-
it "raises an error when variables haven't been set in the config" do
|
27
|
-
Namely.configure do
|
28
|
-
end
|
29
|
-
|
30
|
-
expect { Namely.configuration.access_token }.to raise_error Namely::ImproperlyConfiguredError
|
31
|
-
expect { Namely.configuration.subdomain }.to raise_error Namely::ImproperlyConfiguredError
|
32
|
-
end
|
33
|
-
end
|
data/spec/namely/country_spec.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Namely::Country do
|
4
|
-
it_behaves_like "a model with an index action", [:id, :name, :subdivision_type]
|
5
|
-
it_behaves_like(
|
6
|
-
"a model with a show action",
|
7
|
-
id: "US",
|
8
|
-
name: "United States",
|
9
|
-
subdivision_type: "State"
|
10
|
-
)
|
11
|
-
end
|
data/spec/namely/event_spec.rb
DELETED
data/spec/namely/field_spec.rb
DELETED
data/spec/namely/profile_spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Namely::Profile do
|
4
|
-
it_behaves_like "a model with an index action", [:first_name, :last_name]
|
5
|
-
|
6
|
-
it_behaves_like(
|
7
|
-
"a model with a show action",
|
8
|
-
id: "20332458-c1fe-412f-bcb8-01622f04a35d",
|
9
|
-
first_name: "Leighton",
|
10
|
-
last_name: "Meester"
|
11
|
-
)
|
12
|
-
|
13
|
-
it_behaves_like(
|
14
|
-
"a model with a create action",
|
15
|
-
first_name: "Beardsly",
|
16
|
-
last_name: "McDog",
|
17
|
-
email: "beardsly-#{Time.now.utc.to_f}@namely.com"
|
18
|
-
)
|
19
|
-
|
20
|
-
it_behaves_like(
|
21
|
-
"a model with an update action",
|
22
|
-
"20332458-c1fe-412f-bcb8-01622f04a35d",
|
23
|
-
middle_name: "Beardsly"
|
24
|
-
)
|
25
|
-
end
|
data/spec/namely/report_spec.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
shared_examples_for "a model with a create action" do |model_attributes|
|
2
|
-
def invalid_attributes
|
3
|
-
{}
|
4
|
-
end
|
5
|
-
|
6
|
-
describe ".create" do
|
7
|
-
it "creates a model based on a hash of attributes" do
|
8
|
-
model = nil
|
9
|
-
|
10
|
-
VCR.use_cassette("#{classname}_create") do
|
11
|
-
model = described_class.create!(model_attributes)
|
12
|
-
end
|
13
|
-
|
14
|
-
expect(model).to respond_to :id
|
15
|
-
expect(model.id).not_to be_empty
|
16
|
-
end
|
17
|
-
|
18
|
-
it "raises a FailedRequestError when the create action fails" do
|
19
|
-
VCR.use_cassette("#{classname}_create_failed") do
|
20
|
-
expect { described_class.create!(invalid_attributes) }.to raise_error Namely::FailedRequestError
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
shared_examples_for "a model with a show action" do |model_attributes|
|
2
|
-
def invalid_id
|
3
|
-
"this-is-almost-certainly-not-the-id-of-any-model"
|
4
|
-
end
|
5
|
-
|
6
|
-
describe ".find" do
|
7
|
-
it "finds a model by its unique id" do
|
8
|
-
VCR.use_cassette("#{classname}_show") do
|
9
|
-
object = described_class.find(model_attributes[:id])
|
10
|
-
|
11
|
-
expect(object).to be_a described_class
|
12
|
-
model_attributes.each do |method, value|
|
13
|
-
expect(object.public_send(method)).to eq value
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
it "raises an error if that model can't be found" do
|
19
|
-
VCR.use_cassette("#{classname}_show_missing") do
|
20
|
-
expect { described_class.find(invalid_id) }.to raise_error Namely::NoSuchModelError
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe ".exists?" do
|
26
|
-
it "returns true if a model exists" do
|
27
|
-
VCR.use_cassette("#{classname}_head") do
|
28
|
-
expect(described_class.exists?(model_attributes[:id])).to eq true
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
it "returns false if a model doesn't exist" do
|
33
|
-
VCR.use_cassette("#{classname}_head_missing") do
|
34
|
-
expect(described_class.exists?(invalid_id)).to eq false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
shared_examples_for "a model with an index action" do |instance_methods = []|
|
2
|
-
describe ".all" do
|
3
|
-
it "returns every model" do
|
4
|
-
VCR.use_cassette("#{classname}_index") do
|
5
|
-
objects = described_class.all
|
6
|
-
|
7
|
-
expect(objects).not_to be_empty
|
8
|
-
objects.each do |object|
|
9
|
-
expect(object).to be_a described_class
|
10
|
-
instance_methods.each do |instance_method|
|
11
|
-
expect(object).to respond_to instance_method
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|