bridge_blueprint 0.0.05 → 0.0.06

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e40854d5a34a871c4f3b9384ea89c36357c67d8
4
- data.tar.gz: a30a814a45d27d9a3bc531139e076f2f0f4aa61e
3
+ metadata.gz: d8a68f02757c7f40a292efbc3881a81da73d0700
4
+ data.tar.gz: 7ac7101287000b7426ea73bb80ddc2a4c069db33
5
5
  SHA512:
6
- metadata.gz: f8705c4f29857b0b0b4911081f0c2d59315d1ff208a6de31fcc056beac681cc9666c64669459168b35a91c549b009ee557d74823fafde8cc879a1241a481ffe6
7
- data.tar.gz: c4b3c49049a61d6dc5155c784bca1ba010159ac849f291196492f2ed67e4ddcca9ddb9714f1228887336634459282e7c5bb78468043562a0834b6f7076e7cf50
6
+ metadata.gz: 0c4496431f46b3182cbe48da9531f5a95645ae692a54fc22b3fbdea074cebafba82562ab0f00dc2f1c92a360f487fd68d1885215652e85261f970065811d9d93
7
+ data.tar.gz: 203ea3230d0dd1a513afca9624caa8fa94e26035356645439b57209a610b1b7b6d332ec3833917e0d0e136e2ca74fe75b52fbf9febb919d7b5d39ec698df7eff
data/.gitignore CHANGED
@@ -2,5 +2,5 @@
2
2
  .idea/
3
3
  bridge_api.iml
4
4
  .byebug.*
5
-
5
+ .byebug_history
6
6
  .*.gem
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
- gemspec
4
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bridge_blueprint (0.0.05)
4
+ bridge_blueprint (0.0.06)
5
5
  bridge_api (~> 0.1.16)
6
6
  open_uri_redirections (~> 0.2.1)
7
7
  rubyzip (~> 1.2.1)
@@ -9,14 +9,14 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (5.1.4)
12
+ activesupport (5.2.0)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (~> 0.7)
14
+ i18n (>= 0.7, < 2)
15
15
  minitest (~> 5.1)
16
16
  tzinfo (~> 1.1)
17
17
  addressable (2.5.1)
18
18
  public_suffix (~> 2.0, >= 2.0.2)
19
- bridge_api (0.1.16)
19
+ bridge_api (0.1.19)
20
20
  faraday (~> 0.9.0)
21
21
  faraday_middleware (~> 0.9.0)
22
22
  footrest (>= 0.5.1)
@@ -35,11 +35,11 @@ GEM
35
35
  faraday (~> 0.9.0)
36
36
  link_header (>= 0.0.7)
37
37
  hashdiff (0.3.4)
38
- i18n (0.9.1)
38
+ i18n (1.0.0)
39
39
  concurrent-ruby (~> 1.0)
40
40
  link_header (0.0.8)
41
41
  method_source (0.8.2)
42
- minitest (5.11.1)
42
+ minitest (5.11.3)
43
43
  multipart-post (2.0.0)
44
44
  open_uri_redirections (0.2.1)
45
45
  pry (0.10.4)
@@ -68,7 +68,7 @@ GEM
68
68
  slop (3.6.0)
69
69
  thread_safe (0.3.6)
70
70
  tilt (1.4.1)
71
- tzinfo (1.2.4)
71
+ tzinfo (1.2.5)
72
72
  thread_safe (~> 0.1)
73
73
  webmock (2.3.2)
74
74
  addressable (>= 2.3.6)
@@ -90,4 +90,4 @@ DEPENDENCIES
90
90
  webmock (~> 2.3.1)
91
91
 
92
92
  BUNDLED WITH
93
- 1.14.6
93
+ 1.16.1
@@ -1,33 +1,35 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
1
+
2
+ # frozen_string_literal: true
3
+
4
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
3
5
  require 'bridge_blueprint/version'
4
6
 
5
7
  Gem::Specification.new do |gem|
6
- gem.authors = ["Jay Shaffer"]
7
- gem.email = ["jshaffer@instructure.com"]
8
- gem.description = %q{Tools for consuming bridge data dumps}
9
- gem.summary = %q{Bridge Blueprint}
10
- gem.homepage = "https://getbridge.com"
8
+ gem.authors = ['Jay Shaffer']
9
+ gem.email = ['jshaffer@instructure.com']
10
+ gem.description = 'Tools for consuming bridge data dumps'
11
+ gem.summary = 'Bridge Blueprint'
12
+ gem.homepage = 'https://getbridge.com'
11
13
  gem.license = 'MIT'
12
14
 
13
15
  gem.files = `git ls-files`.split("\n")
14
- gem.files += Dir.glob("lib/**/*.rb")
15
- gem.files += Dir.glob("spec/**/*")
16
- gem.test_files = Dir.glob("spec/**/*")
17
- gem.name = "bridge_blueprint"
18
- gem.require_paths = ["lib"]
16
+ gem.files += Dir.glob('lib/**/*.rb')
17
+ gem.files += Dir.glob('spec/**/*')
18
+ gem.test_files = Dir.glob('spec/**/*')
19
+ gem.name = 'bridge_blueprint'
20
+ gem.require_paths = ['lib']
19
21
  gem.version = BridgeBlueprint::VERSION
20
22
 
21
23
  gem.add_runtime_dependency 'bridge_api', '~> 0.1.16'
22
24
  gem.add_runtime_dependency 'open_uri_redirections', '~> 0.2.1'
23
25
  gem.add_runtime_dependency 'rubyzip', '~> 1.2.1'
24
26
 
25
- gem.add_development_dependency 'rake', '~> 0'
26
27
  gem.add_development_dependency 'bundler', '~> 1.0', '>= 1.0.0'
27
- gem.add_development_dependency 'rspec', '~> 2.6'
28
- gem.add_development_dependency 'webmock', '~>2.3.1'
28
+ gem.add_development_dependency 'byebug', '~> 8.2.2'
29
29
  gem.add_development_dependency 'pry', '~> 0'
30
- gem.add_development_dependency 'tilt', '>= 1.3.4', '~> 1.3'
30
+ gem.add_development_dependency 'rake', '~> 0'
31
+ gem.add_development_dependency 'rspec', '~> 2.6'
31
32
  gem.add_development_dependency 'sinatra', '~> 1.0'
32
- gem.add_development_dependency 'byebug', '~> 8.2.2'
33
+ gem.add_development_dependency 'tilt', '>= 1.3.4', '~> 1.3'
34
+ gem.add_development_dependency 'webmock', '~>2.3.1'
33
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BridgeBlueprint
2
4
  class Constants
3
5
  STATUS_FAILED = 'failed'
@@ -1,16 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'csv'
2
4
  require 'zip'
3
5
 
4
6
  module BridgeBlueprint
5
7
  class DataDump
6
-
7
8
  @path = nil
8
9
 
9
10
  def initialize(path)
10
11
  @path = path
11
- unless File.exists?(path)
12
- raise "File not found #{path}"
13
- end
12
+ raise "File not found #{path}" unless File.exist?(path)
14
13
  end
15
14
 
16
15
  def each_row(name)
@@ -29,11 +28,10 @@ module BridgeBlueprint
29
28
  file = nil
30
29
  Zip::File.open(@path) do |zip_file|
31
30
  zip_file.each do |entry|
32
- if "#{name.to_s}" == entry.name
33
- path = "#{dir}/#{entry.name}"
34
- file = entry.extract(path)
35
- break
36
- end
31
+ next unless name.to_s == entry.name
32
+ path = "#{dir}/#{entry.name}"
33
+ file = entry.extract(path)
34
+ break
37
35
  end
38
36
  end
39
37
  if file
@@ -1,18 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'open-uri'
2
4
  require 'open_uri_redirections'
3
5
  require 'net/http'
4
6
  require 'uri'
5
7
  require 'base64'
6
- require "bridge_api"
8
+ require 'bridge_api'
7
9
 
8
10
  module BridgeBlueprint
9
-
10
11
  class RemoteData
11
-
12
12
  USERS_CSV_NAME = 'users.csv'
13
13
  CUSTOM_FIELD_CSV_NAME = 'custom_fields.csv'
14
14
  GRANTS_CSV_NAME = 'grants.csv'
15
15
 
16
+ attr_accessor :client
17
+
16
18
  @base_url = nil
17
19
  @auth_header = nil
18
20
  @file_url = nil
@@ -22,17 +24,28 @@ module BridgeBlueprint
22
24
 
23
25
  def initialize(base_url, key, secret)
24
26
  @base_url = base_url
25
- @auth_header = 'Basic ' + Base64.strict_encode64("#{key}:#{secret}")
27
+ @auth_header = 'Basic ' + Base64.strict_encode64("#{key}:#{secret}")
26
28
  @client = BridgeAPI::Client.new(prefix: base_url, api_key: key, api_secret: secret)
27
29
  end
28
30
 
29
31
  def start_data_report
30
- @client.create_data_dump
32
+ raw_dumps = get_dumps
33
+ dumps = raw_dumps.members
34
+ unless dumps.empty?
35
+ dump = dumps.first
36
+ case dump['status']
37
+ when 'pending'
38
+ return
39
+ when 'complete'
40
+ return if Time.parse(dump['date']) > Time.now - 300
41
+ end
42
+ end
43
+ @client.create_data_dump
31
44
  end
32
45
 
33
46
  def status
34
47
  dumps = get_dumps
35
- if dumps.members.size > 0
48
+ if !dumps.members.empty?
36
49
  return get_dumps.first['status']
37
50
  else
38
51
  return BridgeBlueprint::Constants::STATUS_NOT_FOUND
@@ -44,12 +57,12 @@ module BridgeBlueprint
44
57
  uri = URI.parse(@base_url)
45
58
  http = Net::HTTP.new(uri.host, uri.port)
46
59
  http.read_timeout = 300
47
- http.use_ssl = (uri.scheme == "https")
60
+ http.use_ssl = (uri.scheme == 'https')
48
61
  req = Net::HTTP::Get.new("#{@base_url}/api/admin/data_dumps/download")
49
- req.add_field("Authorization", @auth_header)
62
+ req.add_field('Authorization', @auth_header)
50
63
  res = http.request(req)
51
64
  redirect_url = res['location']
52
- File.open(@file_path, 'w') do |file|
65
+ File.open(@file_path, 'w') do |_file|
53
66
  IO.copy_stream(open(redirect_url), @file_path)
54
67
  end
55
68
  end
@@ -62,11 +75,10 @@ module BridgeBlueprint
62
75
 
63
76
  def get_headers
64
77
  {
65
- 'Authorization'=> @auth_header,
66
- 'Content-Type'=> 'application/json',
67
- 'Accept'=> 'application/json'
78
+ 'Authorization' => @auth_header,
79
+ 'Content-Type' => 'application/json',
80
+ 'Accept' => 'application/json'
68
81
  }
69
82
  end
70
83
  end
71
-
72
84
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BridgeBlueprint
2
- VERSION = '0.0.05' unless defined?(BridgeBlueprint::VERSION)
4
+ VERSION = '0.0.06' unless defined?(BridgeBlueprint::VERSION)
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bridge_blueprint/version'
2
4
  require 'bridge_blueprint/data_dump'
3
5
  require 'bridge_blueprint/constants'
@@ -1,15 +1,16 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  require 'zip'
3
5
 
4
6
  describe BridgeBlueprint::DataDump do
5
-
6
7
  before(:each) do
7
8
  dir = Dir.mktmpdir
8
9
  zip_folder_path = "#{File.dirname(__FILE__)}/../fixtures/bridge_zip"
9
10
  input_filenames = [
10
- 'users.csv',
11
- 'custom_fields.csv'
12
- ]
11
+ 'users.csv',
12
+ 'custom_fields.csv'
13
+ ]
13
14
 
14
15
  @zipfile_name = "#{dir}/dump.zip"
15
16
 
@@ -24,11 +25,11 @@ describe BridgeBlueprint::DataDump do
24
25
  it 'should parse a bridge data dump file' do
25
26
  file = BridgeBlueprint::DataDump.new(@zipfile_name)
26
27
  user_count = 0
27
- file.each_row('users') do |user|
28
+ file.each_row('users') do |_user|
28
29
  user_count += 1
29
30
  end
30
31
  custom_field_count = 0
31
- file.each_row('custom_fields') do |custom_field|
32
+ file.each_row('custom_fields') do |_custom_field|
32
33
  custom_field_count += 1
33
34
  end
34
35
  expect(user_count).to(eq(2))
@@ -1,15 +1,16 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  require 'zip'
3
5
 
4
6
  describe BridgeBlueprint::RemoteData do
5
-
6
7
  before(:each) do
7
8
  @dir = Dir.mktmpdir
8
9
  zip_folder_path = "#{File.dirname(__FILE__)}/../fixtures/bridge_zip"
9
10
  input_filenames = [
10
- 'users.csv',
11
- 'custom_fields.csv'
12
- ]
11
+ 'users.csv',
12
+ 'custom_fields.csv'
13
+ ]
13
14
 
14
15
  @zipfile_name = "#{@dir}/dump.zip"
15
16
 
@@ -19,14 +20,35 @@ describe BridgeBlueprint::RemoteData do
19
20
  end
20
21
  end
21
22
 
22
- stub_request(:get, "https://example.com/fake-file-url").
23
- with(:headers => {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}).
24
- to_return(:status => 200, :body => lambda{|request| File.open(@zipfile_name)}, :headers => {})
23
+ stub_request(:get, 'https://example.com/fake-file-url')
24
+ .with(headers: { 'Accept' => '*/*', 'User-Agent' => 'Ruby' })
25
+ .to_return(status: 200, body: ->(_request) { File.open(@zipfile_name) }, headers: {})
25
26
  end
26
27
 
27
28
  describe 'completed' do
28
29
  it 'should start a data dump' do
29
30
  data = BridgeBlueprint::RemoteData.new('https://example.com', 'key', 'secret')
31
+ expect(data.client).to receive(:create_data_dump)
32
+ data.start_data_report
33
+ end
34
+ end
35
+
36
+ describe 'completed' do
37
+ it 'should not start a data dump if already pending' do
38
+ data = BridgeBlueprint::RemoteData.new('https://pending.com', 'key', 'secret')
39
+ expect(data.client).not_to receive(:create_data_dump)
40
+ data.start_data_report
41
+ end
42
+
43
+ it 'should not start a data dump if one has already completed in the past 5 minutes' do
44
+ data = BridgeBlueprint::RemoteData.new('https://recent.com', 'key', 'secret')
45
+ expect(data.client).not_to receive(:create_data_dump)
46
+ data.start_data_report
47
+ end
48
+
49
+ it 'should start a data dump if one hasnt already completed in the past 5 minutes' do
50
+ data = BridgeBlueprint::RemoteData.new('https://notrecent.com', 'key', 'secret')
51
+ expect(data.client).to receive(:create_data_dump)
30
52
  data.start_data_report
31
53
  end
32
54
  end
@@ -43,8 +65,7 @@ describe BridgeBlueprint::RemoteData do
43
65
  data = BridgeBlueprint::RemoteData.new('https://example.com', 'key', 'secret')
44
66
  dir = Dir.mktmpdir
45
67
  data.store_file("#{@dir}/data_dump.csv")
46
- expect(File.exists?("#{@dir}/data_dump.csv")).to(eq(true))
68
+ expect(File.exist?("#{@dir}/data_dump.csv")).to(eq(true))
47
69
  end
48
70
  end
49
-
50
71
  end
@@ -0,0 +1,9 @@
1
+ {
2
+ "meta": {},
3
+ "data_dumps": [
4
+ {
5
+ "status": "pending",
6
+ "date": "2015-11-12T19:03:37Z"
7
+ }
8
+ ]
9
+ }
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sinatra/base'
2
4
  require 'tilt'
3
5
 
4
6
  class FakeBridge < Sinatra::Base
5
-
6
7
  ## Course Templates
7
8
 
8
9
  get %r{/api/author/course_templates$} do
@@ -84,7 +85,7 @@ class FakeBridge < Sinatra::Base
84
85
  get_json_data 200, 'enrollment.json'
85
86
  end
86
87
 
87
- #Custom Fields
88
+ # Custom Fields
88
89
 
89
90
  get %r{/api/author/custom_fields} do
90
91
  get_json_data 200, 'custom_fields.json'
@@ -109,7 +110,20 @@ class FakeBridge < Sinatra::Base
109
110
  # Data Dumps
110
111
 
111
112
  get %r{/api/admin/data_dumps$} do
112
- get_json_data 200, 'data_dumps.json'
113
+ host = URI.parse(url).host
114
+ if host == 'pending.com'
115
+ get_json_data 200, 'data_dumps_pending.json'
116
+ elsif host == 'notrecent.com'
117
+ data = JSON.parse(fixture('data_dumps.json').read)
118
+ data['data_dumps'][0]['date'] = (Time.now - 310).to_s
119
+ custom_response(data.to_json)
120
+ elsif host == 'recent.com'
121
+ data = JSON.parse(fixture('data_dumps.json').read)
122
+ data['data_dumps'][0]['date'] = (Time.now - 290).to_s
123
+ custom_response(data.to_json)
124
+ else
125
+ get_json_data 200, 'data_dumps.json'
126
+ end
113
127
  end
114
128
 
115
129
  post %r{/api/admin/data_dumps$} do
@@ -119,19 +133,24 @@ class FakeBridge < Sinatra::Base
119
133
  get %r{/api/admin/data_dumps/download.*} do
120
134
  content_type :json
121
135
  status 200
122
- headers[:location] = "https://example.com/fake-file-url"
136
+ headers[:location] = 'https://example.com/fake-file-url'
123
137
  end
124
138
 
125
139
  private
126
140
 
141
+ def custom_response(data)
142
+ content_type :json
143
+ status 200
144
+ data
145
+ end
146
+
127
147
  def get_json_data(response_code, file_name)
128
148
  content_type :json
129
149
  status response_code
130
- unless file_name.nil?
131
- File.open(File.dirname(__FILE__) + '/../fixtures/' + file_name).read
132
- else
150
+ if file_name.nil?
133
151
  {}
152
+ else
153
+ File.open(File.dirname(__FILE__) + '/../fixtures/' + file_name).read
134
154
  end
135
155
  end
136
-
137
156
  end
data/spec/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bridge_blueprint'
2
4
  require 'rspec'
3
5
  require 'webmock/rspec'
@@ -5,7 +7,7 @@ require 'json'
5
7
  require 'pry'
6
8
 
7
9
  RSpec.configure do |config|
8
- Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
10
+ Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
9
11
 
10
12
  config.before(:each) do
11
13
  WebMock.disable_net_connect!
@@ -13,7 +15,6 @@ RSpec.configure do |config|
13
15
  end
14
16
  end
15
17
 
16
-
17
18
  def fixture(*file)
18
- File.new(File.join(File.expand_path("../fixtures", __FILE__), *file))
19
+ File.new(File.join(File.expand_path('fixtures', __dir__), *file))
19
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridge_blueprint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.05
4
+ version: 0.0.06
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Shaffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-15 00:00:00.000000000 Z
11
+ date: 2018-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bridge_api
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.2.1
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: bundler
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -87,35 +73,35 @@ dependencies:
87
73
  - !ruby/object:Gem::Version
88
74
  version: 1.0.0
89
75
  - !ruby/object:Gem::Dependency
90
- name: rspec
76
+ name: byebug
91
77
  requirement: !ruby/object:Gem::Requirement
92
78
  requirements:
93
79
  - - "~>"
94
80
  - !ruby/object:Gem::Version
95
- version: '2.6'
81
+ version: 8.2.2
96
82
  type: :development
97
83
  prerelease: false
98
84
  version_requirements: !ruby/object:Gem::Requirement
99
85
  requirements:
100
86
  - - "~>"
101
87
  - !ruby/object:Gem::Version
102
- version: '2.6'
88
+ version: 8.2.2
103
89
  - !ruby/object:Gem::Dependency
104
- name: webmock
90
+ name: pry
105
91
  requirement: !ruby/object:Gem::Requirement
106
92
  requirements:
107
93
  - - "~>"
108
94
  - !ruby/object:Gem::Version
109
- version: 2.3.1
95
+ version: '0'
110
96
  type: :development
111
97
  prerelease: false
112
98
  version_requirements: !ruby/object:Gem::Requirement
113
99
  requirements:
114
100
  - - "~>"
115
101
  - !ruby/object:Gem::Version
116
- version: 2.3.1
102
+ version: '0'
117
103
  - !ruby/object:Gem::Dependency
118
- name: pry
104
+ name: rake
119
105
  requirement: !ruby/object:Gem::Requirement
120
106
  requirements:
121
107
  - - "~>"
@@ -129,25 +115,19 @@ dependencies:
129
115
  - !ruby/object:Gem::Version
130
116
  version: '0'
131
117
  - !ruby/object:Gem::Dependency
132
- name: tilt
118
+ name: rspec
133
119
  requirement: !ruby/object:Gem::Requirement
134
120
  requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: 1.3.4
138
121
  - - "~>"
139
122
  - !ruby/object:Gem::Version
140
- version: '1.3'
123
+ version: '2.6'
141
124
  type: :development
142
125
  prerelease: false
143
126
  version_requirements: !ruby/object:Gem::Requirement
144
127
  requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: 1.3.4
148
128
  - - "~>"
149
129
  - !ruby/object:Gem::Version
150
- version: '1.3'
130
+ version: '2.6'
151
131
  - !ruby/object:Gem::Dependency
152
132
  name: sinatra
153
133
  requirement: !ruby/object:Gem::Requirement
@@ -163,19 +143,39 @@ dependencies:
163
143
  - !ruby/object:Gem::Version
164
144
  version: '1.0'
165
145
  - !ruby/object:Gem::Dependency
166
- name: byebug
146
+ name: tilt
167
147
  requirement: !ruby/object:Gem::Requirement
168
148
  requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 1.3.4
169
152
  - - "~>"
170
153
  - !ruby/object:Gem::Version
171
- version: 8.2.2
154
+ version: '1.3'
172
155
  type: :development
173
156
  prerelease: false
174
157
  version_requirements: !ruby/object:Gem::Requirement
175
158
  requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 1.3.4
176
162
  - - "~>"
177
163
  - !ruby/object:Gem::Version
178
- version: 8.2.2
164
+ version: '1.3'
165
+ - !ruby/object:Gem::Dependency
166
+ name: webmock
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: 2.3.1
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: 2.3.1
179
179
  description: Tools for consuming bridge data dumps
180
180
  email:
181
181
  - jshaffer@instructure.com
@@ -199,6 +199,7 @@ files:
199
199
  - spec/fixtures/bridge_zip/custom_fields.csv
200
200
  - spec/fixtures/bridge_zip/users.csv
201
201
  - spec/fixtures/data_dumps.json
202
+ - spec/fixtures/data_dumps_pending.json
202
203
  - spec/support/fake_bridge.rb
203
204
  - spec/test_helper.rb
204
205
  homepage: https://getbridge.com
@@ -221,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
222
  version: '0'
222
223
  requirements: []
223
224
  rubyforge_project:
224
- rubygems_version: 2.2.2
225
+ rubygems_version: 2.6.14
225
226
  signing_key:
226
227
  specification_version: 4
227
228
  summary: Bridge Blueprint
@@ -231,6 +232,6 @@ test_files:
231
232
  - spec/fixtures/bridge_zip/custom_fields.csv
232
233
  - spec/fixtures/bridge_zip/users.csv
233
234
  - spec/fixtures/data_dumps.json
235
+ - spec/fixtures/data_dumps_pending.json
234
236
  - spec/support/fake_bridge.rb
235
237
  - spec/test_helper.rb
236
- has_rdoc: