clever-ruby 0.3.1 → 0.4.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 +7 -0
- data/.drone.yml +14 -0
- data/.rubocop.yml +4 -0
- data/LICENSE +190 -0
- data/README.md +37 -7
- data/Rakefile +12 -2
- data/clever-ruby.gemspec +17 -13
- data/lib/clever-ruby.rb +87 -61
- data/lib/clever-ruby/api_operations/list.rb +9 -4
- data/lib/clever-ruby/api_operations/page.rb +7 -4
- data/lib/clever-ruby/api_operations/pagelist.rb +6 -3
- data/lib/clever-ruby/api_resource.rb +31 -10
- data/lib/clever-ruby/clever_object.rb +34 -35
- data/lib/clever-ruby/configuration.rb +2 -1
- data/lib/clever-ruby/district.rb +4 -12
- data/lib/clever-ruby/errors/api_connection_error.rb +1 -1
- data/lib/clever-ruby/errors/api_error.rb +1 -1
- data/lib/clever-ruby/errors/authentication_error.rb +1 -1
- data/lib/clever-ruby/errors/clever_error.rb +4 -3
- data/lib/clever-ruby/errors/invalid_request_error.rb +4 -3
- data/lib/clever-ruby/event.rb +6 -5
- data/lib/clever-ruby/json.rb +2 -1
- data/lib/clever-ruby/school.rb +2 -0
- data/lib/clever-ruby/section.rb +2 -0
- data/lib/clever-ruby/student.rb +6 -3
- data/lib/clever-ruby/teacher.rb +2 -0
- data/lib/clever-ruby/util.rb +31 -32
- data/lib/clever-ruby/version.rb +2 -1
- data/test/data/vcr_cassettes/districts.yml +10 -16
- data/test/data/vcr_cassettes/districts_event_pages.yml +627 -62
- data/test/data/vcr_cassettes/districts_events.yml +243 -41
- data/test/data/vcr_cassettes/districts_school_pages.yml +93 -102
- data/test/data/vcr_cassettes/districts_schools.yml +85 -92
- data/test/data/vcr_cassettes/districts_section_pages.yml +3364 -314
- data/test/data/vcr_cassettes/districts_sections.yml +591 -266
- data/test/data/vcr_cassettes/districts_student_pages.yml +1701 -14694
- data/test/data/vcr_cassettes/districts_students.yml +209 -2960
- data/test/data/vcr_cassettes/districts_students_filtered.yml +39 -64
- data/test/data/vcr_cassettes/districts_teacher_pages.yml +455 -202
- data/test/data/vcr_cassettes/districts_teachers.yml +244 -163
- data/test/data/vcr_cassettes/error_handling.yml +36 -52
- data/test/data/vcr_cassettes/schools.yml +20 -29
- data/test/data/vcr_cassettes/schools_optional_attributes.yml +21 -30
- data/test/data/vcr_cassettes/sections.yml +1069 -114
- data/test/data/vcr_cassettes/students.yml +1095 -1296
- data/test/data/vcr_cassettes/teachers.yml +2341 -872
- data/test/integration/api_operations/list_test.rb +16 -15
- data/test/integration/district_test.rb +18 -17
- data/test/integration/error_handling_test.rb +8 -7
- data/test/test_helper.rb +2 -2
- data/test/unit/clever_test.rb +13 -13
- data/test/unit/configuration_test.rb +8 -11
- data/test/unit/event_test.rb +18 -21
- data/test/unit/optional_attributes_test.rb +21 -14
- metadata +99 -55
- data/.travis.yml +0 -9
@@ -1,46 +1,47 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# Test api_operations/List
|
3
4
|
class ListTest < Test::Unit::TestCase
|
4
5
|
def setup
|
5
6
|
Clever.configure do |config|
|
6
|
-
config.api_key =
|
7
|
+
config.api_key = 'DEMO_KEY'
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
|
-
should
|
11
|
-
VCR.use_cassette(
|
11
|
+
should 'retrieve districts' do
|
12
|
+
VCR.use_cassette('districts') do
|
12
13
|
@districts = Clever::District.all
|
13
14
|
end
|
14
15
|
|
15
16
|
@districts.count.must_equal 1
|
16
17
|
end
|
17
18
|
|
18
|
-
should
|
19
|
-
VCR.use_cassette(
|
19
|
+
should 'retrieve schools' do
|
20
|
+
VCR.use_cassette('schools') do
|
20
21
|
@schools = Clever::School.all
|
21
22
|
end
|
22
23
|
|
23
|
-
@schools.count.must_equal
|
24
|
+
@schools.count.must_equal 3
|
24
25
|
end
|
25
26
|
|
26
|
-
should
|
27
|
-
VCR.use_cassette(
|
27
|
+
should 'retrieve students' do
|
28
|
+
VCR.use_cassette('students') do
|
28
29
|
@students = Clever::Student.all
|
29
30
|
end
|
30
31
|
|
31
|
-
@students.count.must_equal
|
32
|
+
@students.count.must_equal 1004
|
32
33
|
end
|
33
34
|
|
34
|
-
should
|
35
|
-
VCR.use_cassette(
|
35
|
+
should 'retrieve sections' do
|
36
|
+
VCR.use_cassette('sections') do
|
36
37
|
@sections = Clever::Section.all
|
37
38
|
end
|
38
39
|
|
39
|
-
@sections.count.must_equal
|
40
|
+
@sections.count.must_equal 379
|
40
41
|
end
|
41
42
|
|
42
|
-
should
|
43
|
-
VCR.use_cassette(
|
43
|
+
should 'retrieve teachers' do
|
44
|
+
VCR.use_cassette('teachers') do
|
44
45
|
@teachers = Clever::Teacher.all
|
45
46
|
|
46
47
|
@teachers.each do |teacher|
|
@@ -51,4 +52,4 @@ class ListTest < Test::Unit::TestCase
|
|
51
52
|
end
|
52
53
|
end
|
53
54
|
end
|
54
|
-
end
|
55
|
+
end
|
@@ -1,34 +1,35 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
|
3
|
+
# test district resource
|
4
|
+
class DistrictTest < Test::Unit::TestCase
|
4
5
|
def setup
|
5
6
|
Clever.configure do |config|
|
6
|
-
config.api_key =
|
7
|
+
config.api_key = 'DEMO_KEY'
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
11
|
should "retrieve a district's schools" do
|
11
|
-
test_object_list 'schools',
|
12
|
+
test_object_list 'schools', 3, Clever::School
|
12
13
|
end
|
13
14
|
|
14
15
|
should "page a district's schools" do
|
15
|
-
test_object_pages
|
16
|
+
test_object_pages 'school', 2, 2
|
16
17
|
end
|
17
18
|
|
18
19
|
should "retrieve a district's teachers" do
|
19
|
-
test_object_list 'teachers',
|
20
|
+
test_object_list 'teachers', 89, Clever::Teacher
|
20
21
|
end
|
21
22
|
|
22
23
|
should "page a district's teachers" do
|
23
|
-
test_object_pages
|
24
|
+
test_object_pages 'teacher', 10, 9
|
24
25
|
end
|
25
26
|
|
26
27
|
should "retrieve a district's sections" do
|
27
|
-
test_object_list 'sections',
|
28
|
+
test_object_list 'sections', 100, Clever::Section
|
28
29
|
end
|
29
30
|
|
30
31
|
should "page a district's sections" do
|
31
|
-
test_object_pages
|
32
|
+
test_object_pages 'section', 10, 38
|
32
33
|
end
|
33
34
|
|
34
35
|
should "retrieve a district's students" do
|
@@ -36,28 +37,28 @@ class ListTest < Test::Unit::TestCase
|
|
36
37
|
end
|
37
38
|
|
38
39
|
should "page a district's students" do
|
39
|
-
test_object_pages
|
40
|
+
test_object_pages 'student', 50, 21
|
40
41
|
end
|
41
42
|
|
42
43
|
should "retrieve a district's students with a small filter" do
|
43
|
-
VCR.use_cassette(
|
44
|
+
VCR.use_cassette('districts_students_filtered') do
|
44
45
|
@district = Clever::District.all.first
|
45
|
-
@district.students(
|
46
|
+
@district.students(limit: 2).size.must_equal 2
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
50
|
should "retrieve a district's events" do
|
50
|
-
test_object_list 'events',
|
51
|
+
test_object_list 'events', 13, Clever::Event
|
51
52
|
end
|
52
53
|
|
53
54
|
should "page a district's events" do
|
54
|
-
test_object_pages
|
55
|
+
test_object_pages 'event', 1, 13
|
55
56
|
end
|
56
57
|
|
57
58
|
private
|
58
59
|
|
59
60
|
def test_object_list(plural_object_name, object_count, instance_name)
|
60
|
-
VCR.use_cassette("districts_#{plural_object_name}", :
|
61
|
+
VCR.use_cassette("districts_#{plural_object_name}", allow_playback_repeats: true) do
|
61
62
|
district = Clever::District.all.first
|
62
63
|
district.send(plural_object_name).size.must_equal object_count
|
63
64
|
district.send(plural_object_name).first.must_be_instance_of instance_name
|
@@ -65,13 +66,13 @@ class ListTest < Test::Unit::TestCase
|
|
65
66
|
end
|
66
67
|
|
67
68
|
def test_object_pages(object_name, limit, page_count)
|
68
|
-
VCR.use_cassette("districts_#{object_name}_pages", :
|
69
|
+
VCR.use_cassette("districts_#{object_name}_pages", allow_playback_repeats: true) do
|
69
70
|
district = Clever::District.all.first
|
70
|
-
object_count_from_list = district.send("#{object_name}s",
|
71
|
+
object_count_from_list = district.send("#{object_name}s", limit: 100_000).size
|
71
72
|
|
72
73
|
object_count_from_paging = 0
|
73
74
|
pages = 0
|
74
|
-
district.send("#{object_name}_pages",
|
75
|
+
district.send("#{object_name}_pages", limit: limit).each do |object_page|
|
75
76
|
pages += 1
|
76
77
|
objects = object_page.all
|
77
78
|
object_count_from_paging += objects.size
|
@@ -1,18 +1,19 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# Test error handling
|
3
4
|
class ErrorHandlingTest < Test::Unit::TestCase
|
4
5
|
def setup
|
5
6
|
Clever.configure do |config|
|
6
|
-
config.api_key =
|
7
|
+
config.api_key = 'DEMO_KEY'
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
|
-
should
|
11
|
-
VCR.use_cassette(
|
11
|
+
should 'raise an InvalidRequestError when given a bad created_since' do
|
12
|
+
VCR.use_cassette('error_handling') do
|
12
13
|
@district = Clever::District.all.first
|
13
|
-
lambda
|
14
|
-
@district.events
|
15
|
-
|
14
|
+
lambda do
|
15
|
+
@district.events created_since: '2013-02-15T 2:30:42 0000'
|
16
|
+
end.must_raise Clever::InvalidRequestError
|
16
17
|
end
|
17
18
|
end
|
18
|
-
end
|
19
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__),
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
|
3
3
|
require 'minitest/autorun'
|
4
4
|
require 'shoulda'
|
@@ -9,4 +9,4 @@ require 'pry'
|
|
9
9
|
VCR.configure do |c|
|
10
10
|
c.cassette_library_dir = 'test/data/vcr_cassettes'
|
11
11
|
c.hook_into :webmock
|
12
|
-
end
|
12
|
+
end
|
data/test/unit/clever_test.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# basic clever-ruby tests
|
4
|
+
# TODO: organize better
|
3
5
|
class CleverTest < Test::Unit::TestCase
|
4
6
|
def setup
|
5
7
|
Clever.configure do |config|
|
6
|
-
config.api_key =
|
8
|
+
config.api_key = 'DEMO_KEY'
|
7
9
|
end
|
8
10
|
end
|
9
11
|
|
10
|
-
should
|
11
|
-
assert_equal
|
12
|
-
assert_equal
|
13
|
-
assert_equal
|
14
|
-
assert_equal
|
15
|
-
assert_equal
|
16
|
-
assert_equal
|
12
|
+
should 'returns correct urls for Resources' do
|
13
|
+
assert_equal 'v1.1/districts', Clever::District.url
|
14
|
+
assert_equal 'v1.1/schools', Clever::School.url
|
15
|
+
assert_equal 'v1.1/students', Clever::Student.url
|
16
|
+
assert_equal 'v1.1/sections', Clever::Section.url
|
17
|
+
assert_equal 'v1.1/teachers', Clever::Teacher.url
|
18
|
+
assert_equal 'v1.1/events', Clever::Event.url
|
17
19
|
end
|
18
20
|
|
19
|
-
should
|
20
|
-
query_string = Clever.convert_to_query_string
|
21
|
-
|
22
|
-
})
|
23
|
-
query_string.must_equal "?created_at=2013-02-15T%202:30:42Z"
|
21
|
+
should 'uri-encode params' do
|
22
|
+
query_string = Clever.convert_to_query_string created_at: '2013-02-15T 2:30:42Z'
|
23
|
+
query_string.must_equal '?created_at=2013-02-15T%202:30:42Z'
|
24
24
|
end
|
25
25
|
end
|
@@ -1,22 +1,19 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# test api configuraton
|
3
4
|
class CleverConfigurationTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
should "set the api key" do
|
5
|
+
should 'set the api key' do
|
6
6
|
Clever.configure do |config|
|
7
|
-
config.api_key =
|
7
|
+
config.api_key = 'DEMO_KEY'
|
8
8
|
end
|
9
|
-
assert_equal
|
9
|
+
assert_equal 'DEMO_KEY', Clever.api_key
|
10
10
|
end
|
11
11
|
|
12
|
-
should
|
13
|
-
|
14
|
-
Clever.request(stub, stub)
|
15
|
-
}.must_raise Clever::AuthenticationError
|
12
|
+
should 'raise an error if no api key is set' do
|
13
|
+
-> { Clever.request(stub, stub) }.must_raise Clever::AuthenticationError
|
16
14
|
end
|
17
15
|
|
18
|
-
should
|
19
|
-
Clever.configuration.api_base.must_equal
|
16
|
+
should 'set a default for the api base' do
|
17
|
+
Clever.configuration.api_base.must_equal 'https://api.clever.com/'
|
20
18
|
end
|
21
|
-
|
22
19
|
end
|
data/test/unit/event_test.rb
CHANGED
@@ -1,38 +1,35 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# test events resource
|
3
4
|
class EventTest < Test::Unit::TestCase
|
4
5
|
def setup
|
5
|
-
@event = Clever::Event.construct_from(
|
6
|
-
type:
|
6
|
+
@event = Clever::Event.construct_from(
|
7
|
+
type: 'sections.created',
|
7
8
|
data: {
|
8
|
-
object: {
|
9
|
-
id: "512bb9f2ca5e6fa77506133f"
|
10
|
-
}
|
9
|
+
object: { id: '512bb9f2ca5e6fa77506133f' }
|
11
10
|
},
|
12
|
-
id:
|
13
|
-
|
11
|
+
id: '512bb9f2ca5e6fa775061340'
|
12
|
+
)
|
14
13
|
|
15
|
-
@updated_event = Clever::Event.construct_from(
|
16
|
-
type:
|
14
|
+
@updated_event = Clever::Event.construct_from(
|
15
|
+
type: 'sections.updated',
|
17
16
|
data: {
|
18
|
-
object: {
|
19
|
-
id: "510980c2923bcbba1f0ce5dd"
|
20
|
-
},
|
17
|
+
object: { id: '510980c2923bcbba1f0ce5dd' },
|
21
18
|
previous_attributes: {
|
22
|
-
teacher:
|
23
|
-
last_modified:
|
19
|
+
teacher: '510980a6923bcbba1f0cb500',
|
20
|
+
last_modified: '2013-03-11T15:38:58.558Z'
|
24
21
|
}
|
25
22
|
},
|
26
|
-
id:
|
27
|
-
|
23
|
+
id: '514767bf80833fb55b1c2dd7'
|
24
|
+
)
|
28
25
|
end
|
29
26
|
|
30
|
-
should
|
27
|
+
should 'create a clever object for the object the event is about' do
|
31
28
|
@event.object.must_be_instance_of Clever::Section
|
32
29
|
end
|
33
30
|
|
34
|
-
should
|
35
|
-
@event.action.must_equal
|
31
|
+
should 'know what action the event is about (created/updated/deleted)' do
|
32
|
+
@event.action.must_equal 'created'
|
36
33
|
end
|
37
34
|
|
38
35
|
should "have an empty hash if there aren't previous attributes" do
|
@@ -40,6 +37,6 @@ class EventTest < Test::Unit::TestCase
|
|
40
37
|
end
|
41
38
|
|
42
39
|
should "have an event's previous attributes" do
|
43
|
-
@updated_event.previous_attributes[:teacher].must_equal
|
40
|
+
@updated_event.previous_attributes[:teacher].must_equal '510980a6923bcbba1f0cb500'
|
44
41
|
end
|
45
|
-
end
|
42
|
+
end
|
@@ -1,33 +1,40 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# Test optional attributes functionality
|
3
4
|
class OptionalAttributesTest < Test::Unit::TestCase
|
4
5
|
def setup
|
5
6
|
Clever.configure do |config|
|
6
|
-
config.api_key =
|
7
|
+
config.api_key = 'DEMO_KEY'
|
7
8
|
end
|
8
9
|
|
9
|
-
VCR.use_cassette(
|
10
|
+
VCR.use_cassette('schools_optional_attributes') do
|
10
11
|
@schools = Clever::School.all
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
|
-
should
|
15
|
-
|
15
|
+
should 'return nil for an optional attribute that isnt present' do
|
16
|
+
school = @schools.find { |s| s.id == '530e595026403103360ff9fd' }
|
17
|
+
|
18
|
+
# add an attribute that will not be exist in the test data
|
19
|
+
ops = school.optional_attributes
|
20
|
+
ops << :legit_attribute
|
21
|
+
Clever::School.class_eval "
|
22
|
+
def optional_attributes
|
23
|
+
#{ops}
|
24
|
+
end"
|
16
25
|
|
17
26
|
# Must not raise a NoMethodError.
|
18
|
-
|
27
|
+
school.legit_attribute.must_equal nil
|
19
28
|
end
|
20
29
|
|
21
|
-
should
|
22
|
-
|
23
|
-
|
30
|
+
should 'have the expected value for an optional attribute that is present' do
|
31
|
+
school = @schools.find { |s| s.id == '530e595026403103360ff9fd' }
|
32
|
+
school.state_id.must_equal '712345'
|
24
33
|
end
|
25
34
|
|
26
|
-
should
|
27
|
-
|
35
|
+
should 'raise a NoMethodError for an invalid attribute' do
|
36
|
+
school = @schools.find { |s| s.id == '530e595026403103360ff9fd' }
|
28
37
|
|
29
|
-
|
30
|
-
clever_academy.some_attribute_that_doesnt_exist
|
31
|
-
}.must_raise NoMethodError
|
38
|
+
-> { school.some_attribute_that_doesnt_exist }.must_raise NoMethodError
|
32
39
|
end
|
33
|
-
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,126 +1,169 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clever-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Clever Dev
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-09-09 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: multi_json
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
19
|
+
version: 1.10.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.10.0
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rest-client
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- - ~>
|
31
|
+
- - "~>"
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: 1.6.7
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.7
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rake
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - ">="
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: minitest
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- - ~>
|
59
|
+
- - "~>"
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: 4.4.0
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 4.4.0
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: shoulda
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- - ~>
|
73
|
+
- - "~>"
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: 3.3.2
|
66
76
|
type: :development
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.3.2
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rdoc
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- - ~>
|
87
|
+
- - "~>"
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '3.12'
|
77
90
|
type: :development
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.12'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: vcr
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
|
-
- - ~>
|
101
|
+
- - "~>"
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: 2.4.0
|
88
104
|
type: :development
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.4.0
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
112
|
name: webmock
|
93
|
-
requirement:
|
94
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
|
-
- - ~>
|
115
|
+
- - "~>"
|
97
116
|
- !ruby/object:Gem::Version
|
98
117
|
version: 1.9.0
|
99
118
|
type: :development
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.9.0
|
102
125
|
- !ruby/object:Gem::Dependency
|
103
126
|
name: pry
|
104
|
-
requirement:
|
105
|
-
none: false
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
|
-
- - ~>
|
129
|
+
- - "~>"
|
108
130
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.
|
131
|
+
version: 0.10.1
|
110
132
|
type: :development
|
111
133
|
prerelease: false
|
112
|
-
version_requirements:
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.10.1
|
113
139
|
- !ruby/object:Gem::Dependency
|
114
140
|
name: activesupport
|
115
|
-
requirement:
|
116
|
-
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 3.2.11
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
149
|
requirements:
|
118
|
-
- - ~>
|
150
|
+
- - "~>"
|
119
151
|
- !ruby/object:Gem::Version
|
120
152
|
version: 3.2.11
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.26.0
|
121
160
|
type: :development
|
122
161
|
prerelease: false
|
123
|
-
version_requirements:
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.26.0
|
124
167
|
description: Ruby bindings to the Clever API.
|
125
168
|
email:
|
126
169
|
- tech-support@clever.com
|
@@ -128,11 +171,13 @@ executables: []
|
|
128
171
|
extensions: []
|
129
172
|
extra_rdoc_files: []
|
130
173
|
files:
|
131
|
-
- .document
|
132
|
-
- .
|
133
|
-
- .
|
174
|
+
- ".document"
|
175
|
+
- ".drone.yml"
|
176
|
+
- ".gitignore"
|
177
|
+
- ".rubocop.yml"
|
134
178
|
- CHANGELOG.md
|
135
179
|
- Gemfile
|
180
|
+
- LICENSE
|
136
181
|
- LICENSE.txt
|
137
182
|
- README.md
|
138
183
|
- Rakefile
|
@@ -186,27 +231,26 @@ files:
|
|
186
231
|
- test/unit/optional_attributes_test.rb
|
187
232
|
homepage: http://github.com/Clever/clever-ruby
|
188
233
|
licenses: []
|
234
|
+
metadata: {}
|
189
235
|
post_install_message:
|
190
236
|
rdoc_options: []
|
191
237
|
require_paths:
|
192
238
|
- lib
|
193
239
|
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
240
|
requirements:
|
196
|
-
- -
|
241
|
+
- - ">="
|
197
242
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
243
|
+
version: 1.9.3
|
199
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
|
-
none: false
|
201
245
|
requirements:
|
202
|
-
- -
|
246
|
+
- - ">="
|
203
247
|
- !ruby/object:Gem::Version
|
204
248
|
version: '0'
|
205
249
|
requirements: []
|
206
250
|
rubyforge_project:
|
207
|
-
rubygems_version:
|
251
|
+
rubygems_version: 2.2.2
|
208
252
|
signing_key:
|
209
|
-
specification_version:
|
253
|
+
specification_version: 4
|
210
254
|
summary: Ruby bindings to the Clever API.
|
211
255
|
test_files:
|
212
256
|
- test/data/vcr_cassettes/districts.yml
|