rack-passbook 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7535da0ed761a8727633eba10eb11a5c9f9cbec
4
- data.tar.gz: 76a31a02edc13f7d6a34911973b1b88c449d0e45
3
+ metadata.gz: 0ec28349a731bc1be81ab48355eda8328321e4d6
4
+ data.tar.gz: 2aed56d1dde1a37f9e493d2aaaeb73efec6d4cd7
5
5
  SHA512:
6
- metadata.gz: bb1c8abdfc1d4af2d649051804feff13eb9e7fe6efa43774ad43639f94bcbe7ce9074abec10034fb4afc9eb86e2163a01a3896f5d7140fbfaaf460060515b482
7
- data.tar.gz: c500d648dbff85e0e4d1576840c1e7c64e84dbf463f1fdeef0cf01aec158e7910bc7fce2eb3043052129e4e55e5a4719a7481337453464fdae92e65de74a5b1d
6
+ metadata.gz: d9f4fb14ee5125f031663d303e88986fc48f7d23f283cff04187b85d274f632b7bea21cd5d3ed523fc34ccf1a10942cd1296808307b644f9dc7ffcd463f3b2b7
7
+ data.tar.gz: e319707381167b142b8af096d73727ae17817e6cfd0c3ac53a6129aa4c1f251d29c0d84a3af4cca0b4ef0eb3c976a4817d89bbfa3128d9cbfa3d6a91cc38bdaf
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  gemspec
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-passbook (0.2.0)
4
+ rack-passbook (0.3.0)
5
5
  rack (~> 1.4)
6
6
  sequel (~> 3.37)
7
7
  sinatra (~> 1.3)
@@ -9,22 +9,38 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- rack (1.5.2)
13
- rack-protection (1.5.2)
12
+ diff-lcs (1.3)
13
+ rack (1.6.11)
14
+ rack-protection (1.5.5)
14
15
  rack
15
- rake (0.9.6)
16
- rspec (0.6.4)
16
+ rake (12.3.2)
17
+ rspec (3.8.0)
18
+ rspec-core (~> 3.8.0)
19
+ rspec-expectations (~> 3.8.0)
20
+ rspec-mocks (~> 3.8.0)
21
+ rspec-core (3.8.2)
22
+ rspec-support (~> 3.8.0)
23
+ rspec-expectations (3.8.4)
24
+ diff-lcs (>= 1.2.0, < 2.0)
25
+ rspec-support (~> 3.8.0)
26
+ rspec-mocks (3.8.1)
27
+ diff-lcs (>= 1.2.0, < 2.0)
28
+ rspec-support (~> 3.8.0)
29
+ rspec-support (3.8.2)
17
30
  sequel (3.48.0)
18
- sinatra (1.4.4)
19
- rack (~> 1.4)
31
+ sinatra (1.4.8)
32
+ rack (~> 1.5)
20
33
  rack-protection (~> 1.4)
21
- tilt (~> 1.3, >= 1.3.4)
22
- tilt (1.4.1)
34
+ tilt (>= 1.3, < 3)
35
+ tilt (2.0.9)
23
36
 
24
37
  PLATFORMS
25
38
  ruby
26
39
 
27
40
  DEPENDENCIES
28
41
  rack-passbook!
29
- rake (~> 0.9)
30
- rspec (~> 0.6)
42
+ rake
43
+ rspec
44
+
45
+ BUNDLED WITH
46
+ 2.0.1
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Mattt Thompson (http://mattt.me/)
1
+ Copyright (c) 2012 – 2019 Mattt (https://mat.tt/)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,29 +1,38 @@
1
- ![Passbook](http://cl.ly/JPjc/title_passbook.png)
2
-
3
1
  # Rack::Passbook
4
2
 
5
- [Passbook](http://www.apple.com/ios/whats-new/#passbook) is an iOS 6 feature that manages boarding passes, movie tickets, retail coupons, & loyalty cards. Using the [PassKit API](https://developer.apple.com/library/prerelease/ios/#documentation/UserExperience/Reference/PassKit_Framework/_index.html), developers can register web services to automatically update content on the pass, such as gate changes on a boarding pass, or adding credit to a loyalty card.
3
+ [Passbook](https://www.apple.com/ios/whats-new/#passbook)
4
+ manages boarding passes, movie tickets, retail coupons, & loyalty cards. Using the [PassKit API](https://developer.apple.com/documentation/passkit),
5
+ developers can register web services to automatically update content on the pass,
6
+ such as gate changes on a boarding pass
7
+ or adding credit to a loyalty card.
6
8
 
7
- Apple [provides a specification](https://developer.apple.com/library/prerelease/ios/#documentation/PassKit/Reference/PassKit_WebService/WebService.html) for a REST-style web service protocol to communicate with Passbook, with endpoints to get the latest version of a pass, register / unregister devices to receive push notifications for a pass, and query for passes registered for a device.
9
+ Apple [provides a specification](https://developer.apple.com/library/prerelease/ios/#documentation/PassKit/Reference/PassKit_WebService/WebService.html)
10
+ for a REST-style web service protocol to communicate with Passbook,
11
+ with endpoints to get the latest version of a pass,
12
+ register / unregister devices to receive push notifications for a pass,
13
+ and query for passes registered for a device.
8
14
 
9
15
  Rack::Passbook provides those specified endpoints.
10
16
 
11
- > If you're just starting out Passbook development, you should definitely check out [this great two-part tutorial](http://www.raywenderlich.com/20734/beginning-passbook-part-1) by [Marin Todorov](http://www.raywenderlich.com/about#marintodorov) ([Part 1](http://www.raywenderlich.com/20734/beginning-passbook-part-1) [Part 2](http://www.raywenderlich.com/20785/beginning-passbook-in-ios-6-part-22)).
17
+ ## Requirements
12
18
 
13
- ## Installation
19
+ - Ruby 1.9 or higher
20
+ - PostgreSQL 9.1 or higher
14
21
 
15
- ```
16
- $ gem install rack-passbook
17
- ```
22
+ ## Installation
18
23
 
19
- ## Requirements
24
+ ### Gemfile
20
25
 
21
- - Ruby 1.9
22
- - PostgreSQL 9.1 running locally ([Postgres.app](http://postgresapp.com) is the easiest way to get a Postgres server running on your Mac)
26
+ ```ruby
27
+ gem 'rack-passbook', require: 'rack/passbook'
28
+ ```
23
29
 
24
30
  ## Example Usage
25
31
 
26
- Rack::Passbook can be run as Rack middleware or as a single web application. All that is required is a connection to a Postgres database.
32
+ Rack::Passbook can be run as Rack middleware or as a single web application.
33
+ All that's required is a connection to a Postgres database.
34
+
35
+ An example application can be found in the `/example` directory of this repository.
27
36
 
28
37
  ### config.ru
29
38
 
@@ -34,18 +43,18 @@ Bundler.require
34
43
  run Rack::Passbook
35
44
  ```
36
45
 
37
- An example application can be found in the `/example` directory of this repository.
38
-
39
46
  ---
40
47
 
41
48
  ## Specification
42
49
 
43
- What follows is a summary of the specification. The complete specification can be found in the [Passbook Web Service Reference](https://developer.apple.com/library/prerelease/ios/#documentation/PassKit/Reference/PassKit_WebService/WebService.html).
50
+ What follows is a summary of the specification.
51
+ The complete specification can be found in the
52
+ [Passbook Web Service Reference](https://developer.apple.com/library/prerelease/ios/#documentation/PassKit/Reference/PassKit_WebService/WebService.html).
44
53
 
45
54
  ### Getting the Latest Version of a Pass
46
55
 
47
56
  ```
48
- GET http://example.com/v1/passes/:passTypeIdentifier/:serialNumber
57
+ GET https://example.com/v1/passes/:passTypeIdentifier/:serialNumber
49
58
  ```
50
59
 
51
60
  - **passTypeIdentifier** The pass’s type, as specified in the pass.
@@ -60,7 +69,7 @@ GET http://example.com/v1/passes/:passTypeIdentifier/:serialNumber
60
69
  ### Getting the Serial Numbers for Passes Associated with a Device
61
70
 
62
71
  ```
63
- GET http://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier[?passesUpdatedSince=tag]
72
+ GET https://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier[?passesUpdatedSince=tag]
64
73
  ```
65
74
 
66
75
  - **deviceLibraryIdentifier** A unique identifier that is used to identify and authenticate the device.
@@ -73,15 +82,15 @@ GET http://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTy
73
82
  If the `passesUpdatedSince` parameter is present, return only the passes that have been updated since the time indicated by tag. Otherwise, return all passes.
74
83
 
75
84
  - If there are matching passes, return HTTP status 200 with a JSON dictionary with the following keys and values:
76
- - **lastUpdated** _(string)_ The current modification tag.
77
- - **serialNumbers** _(array of strings)_ The serial numbers of the matching passes.
85
+ - **lastUpdated** _(string)_ The current modification tag.
86
+ - **serialNumbers** _(array of strings)_ The serial numbers of the matching passes.
78
87
  - If there are no matching passes, return HTTP status 204.
79
88
  - Otherwise, return the appropriate standard HTTP status.
80
89
 
81
90
  ### Registering a Device to Receive Push Notifications for a Pass
82
91
 
83
92
  ```
84
- POST http://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumber
93
+ POST https://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumber
85
94
  ```
86
95
 
87
96
  - **deviceLibraryIdentifier** A unique identifier that is used to identify and authenticate the device.
@@ -102,7 +111,7 @@ The POST payload is a JSON dictionary, containing a single key and value:
102
111
  ### Unregistering a Device
103
112
 
104
113
  ```
105
- DELETE http://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumber
114
+ DELETE https://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumber
106
115
  ```
107
116
 
108
117
  - **deviceLibraryIdentifier** A unique identifier that is used to identify and authenticate the device.
@@ -119,12 +128,9 @@ DELETE http://example.com/v1/devices/:deviceLibraryIdentifier/registrations/:pas
119
128
 
120
129
  ## Contact
121
130
 
122
- Mattt Thompson
123
-
124
- - http://github.com/mattt
125
- - http://twitter.com/mattt
126
- - m@mattt.me
131
+ [Mattt](https://twitter.com/mattt)
127
132
 
128
133
  ## License
129
134
 
130
- Rack::Passbook is available under the MIT license. See the LICENSE file for more info.
135
+ Rack::Passbook is available under the MIT license.
136
+ See the LICENSE file for more info.
data/Rakefile CHANGED
@@ -1,10 +1,12 @@
1
- require "bundler"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler'
2
4
  Bundler.setup
3
5
 
4
- gemspec = eval(File.read("rack-passbook.gemspec"))
6
+ gemspec = eval(File.read('rack-passbook.gemspec'))
5
7
 
6
- task :build => "#{gemspec.full_name}.gem"
8
+ task build: "#{gemspec.full_name}.gem"
7
9
 
8
- file "#{gemspec.full_name}.gem" => gemspec.files + ["rack-passbook.gemspec"] do
9
- system "gem build rack-passbook.gemspec"
10
+ file "#{gemspec.full_name}.gem" => gemspec.files + ['rack-passbook.gemspec'] do
11
+ system 'gem build rack-passbook.gemspec'
10
12
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Sequel.migration do
2
4
  up do
3
- run %{CREATE EXTENSION IF NOT EXISTS hstore;}
5
+ run %(CREATE EXTENSION IF NOT EXISTS hstore;)
4
6
 
5
7
  create_table :passbook_passes do
6
8
  primary_key :id
@@ -28,7 +30,7 @@ Sequel.migration do
28
30
  index :device_library_identifier
29
31
  end
30
32
  end
31
-
33
+
32
34
  down do
33
35
  drop_table :passbook_passes
34
36
  drop_table :passbook_registrations
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Sequel.migration do
2
4
  up do
3
5
  add_column :passbook_passes, :tsv, 'TSVector'
4
- add_index :passbook_passes, :tsv, type: "GIN"
5
- create_trigger :passbook_passes, :tsv, :tsvector_update_trigger,
6
- args: [:tsv, :'pg_catalog.english', :pass_type_identifier, :serial_number],
7
- events: [:insert, :update],
8
- each_row: true
6
+ add_index :passbook_passes, :tsv, type: 'GIN'
7
+ create_trigger :passbook_passes, :tsv, :tsvector_update_trigger,
8
+ args: %i[tsv pg_catalog.english pass_type_identifier serial_number],
9
+ events: %i[insert update],
10
+ each_row: true
9
11
  end
10
12
 
11
13
  down do
@@ -1,24 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rack
2
4
  class Passbook
3
5
  class Pass < Sequel::Model
4
- plugin :json_serializer, naked: true, except: :id
6
+ plugin :json_serializer, naked: true, except: :id
5
7
  plugin :validation_helpers
6
8
  plugin :timestamps, force: true, update_on_create: true
7
9
  plugin :schema
8
10
  plugin :typecast_on_load
9
-
11
+
10
12
  self.dataset = :passbook_passes
11
13
  self.strict_param_setting = false
12
14
  self.raise_on_save_failure = false
13
15
 
14
- one_to_many :registrations, class_name: "Rack::Passbook::Registration"
16
+ one_to_many :registrations, class_name: 'Rack::Passbook::Registration'
15
17
 
16
18
  def validate
17
19
  super
18
-
19
- validates_presence [:pass_type_identifier, :serial_number]
20
+
21
+ validates_presence %i[pass_type_identifier serial_number]
20
22
  validates_unique :pass_type_identifier
21
- validates_unique [:serial_number, :pass_type_identifier]
23
+ validates_unique %i[serial_number pass_type_identifier]
22
24
  end
23
25
  end
24
26
  end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rack
2
4
  class Passbook
3
5
  class Registration < Sequel::Model
4
- plugin :json_serializer, naked: true, except: :id
6
+ plugin :json_serializer, naked: true, except: :id
5
7
  plugin :validation_helpers
6
8
  plugin :timestamps, force: true, update_on_create: true
7
9
  plugin :schema
@@ -11,14 +13,14 @@ module Rack
11
13
  self.raise_on_save_failure = false
12
14
 
13
15
  def before_validation
14
- normalize_push_token! if self.push_token
16
+ normalize_push_token! if push_token
15
17
  end
16
18
 
17
19
  def validate
18
20
  super
19
21
 
20
22
  validates_presence :device_library_identifier
21
- validates_unique [:device_library_identifier, :pass_id]
23
+ validates_unique %i[device_library_identifier pass_id]
22
24
  validates_format /[[:xdigit:]]+/, :push_token
23
25
  validates_exact_length 64, :push_token
24
26
  end
@@ -26,7 +28,7 @@ module Rack
26
28
  private
27
29
 
28
30
  def normalize_push_token!
29
- self.push_token = self.push_token.strip.gsub(/[<\s>]/, '')
31
+ self.push_token = push_token.strip.gsub(/[<\s>]/, '')
30
32
  end
31
33
  end
32
34
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rack
4
+ class Passbook
5
+ VERSION = '0.3.0'
6
+ end
7
+ end
Binary file
@@ -1,25 +1,28 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+ require 'rack/passbook/version'
3
5
 
4
6
  Gem::Specification.new do |s|
5
- s.name = "rack-passbook"
6
- s.authors = ["Mattt Thompson"]
7
- s.email = "m@mattt.me"
8
- s.homepage = "http://mattt.me"
9
- s.version = '0.2.0'
7
+ s.name = 'rack-passbook'
8
+ s.authors = ['Mattt']
9
+ s.email = 'mattt@me.com'
10
+ s.license = 'MIT'
11
+ s.homepage = 'https://mat.tt'
12
+ s.version = Rack::Passbook::VERSION
10
13
  s.platform = Gem::Platform::RUBY
11
- s.summary = "Rack::Passbook"
12
- s.description = "Automatically generate REST APIs for Passbook registration."
14
+ s.summary = 'Rack::Passbook'
15
+ s.description = 'Automatically generate REST APIs for Passbook registration.'
13
16
 
14
- s.add_development_dependency "rspec", "~> 0.6"
15
- s.add_development_dependency "rake", "~> 0.9"
17
+ s.add_development_dependency 'rake'
18
+ s.add_development_dependency 'rspec'
16
19
 
17
- s.add_dependency "rack", "~> 1.4"
18
- s.add_dependency "sinatra", "~> 1.3"
19
- s.add_dependency "sequel", "~> 3.37"
20
+ s.add_dependency 'rack', '~> 1.4'
21
+ s.add_dependency 'sequel', '~> 3.37'
22
+ s.add_dependency 'sinatra', '~> 1.3'
20
23
 
21
- s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|example|log|pkg|script|spec|test|vendor)/ }
24
+ s.files = Dir['./**/*'].reject { |file| file =~ %r{\./(bin|example|log|pkg|script|spec|test|vendor)} }
22
25
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
- s.require_paths = ["lib"]
26
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
27
+ s.require_paths = ['lib']
25
28
  end
metadata CHANGED
@@ -1,104 +1,107 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-passbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
- - Mattt Thompson
7
+ - Mattt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-06 00:00:00.000000000 Z
11
+ date: 2019-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.6'
19
+ version: '0'
20
20
  type: :development
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: '0.6'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0.9'
33
+ version: '0'
34
34
  type: :development
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: '0.9'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rack
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.4'
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
54
  version: '1.4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: sinatra
56
+ name: sequel
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '3.37'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '3.37'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sequel
70
+ name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.37'
75
+ version: '1.3'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.37'
82
+ version: '1.3'
83
83
  description: Automatically generate REST APIs for Passbook registration.
84
- email: m@mattt.me
84
+ email: mattt@me.com
85
85
  executables: []
86
86
  extensions: []
87
87
  extra_rdoc_files: []
88
88
  files:
89
- - ./Gemfile
90
- - ./Gemfile.lock
91
- - ./lib/rack/passbook/migrations/001_base_schema.rb
92
- - ./lib/rack/passbook/migrations/002_add_full_text_search.rb
93
- - ./lib/rack/passbook/models/pass.rb
94
- - ./lib/rack/passbook/models/registration.rb
95
- - ./lib/rack/passbook.rb
96
- - ./LICENSE
97
- - ./rack-passbook.gemspec
98
- - ./Rakefile
99
- - ./README.md
100
- homepage: http://mattt.me
101
- licenses: []
89
+ - "./Gemfile"
90
+ - "./Gemfile.lock"
91
+ - "./LICENSE.md"
92
+ - "./README.md"
93
+ - "./Rakefile"
94
+ - "./lib/rack/passbook.rb"
95
+ - "./lib/rack/passbook/migrations/001_base_schema.rb"
96
+ - "./lib/rack/passbook/migrations/002_add_full_text_search.rb"
97
+ - "./lib/rack/passbook/models/pass.rb"
98
+ - "./lib/rack/passbook/models/registration.rb"
99
+ - "./lib/rack/passbook/version.rb"
100
+ - "./rack-passbook-0.2.0.gem"
101
+ - "./rack-passbook.gemspec"
102
+ homepage: https://mat.tt
103
+ licenses:
104
+ - MIT
102
105
  metadata: {}
103
106
  post_install_message:
104
107
  rdoc_options: []
@@ -106,17 +109,17 @@ require_paths:
106
109
  - lib
107
110
  required_ruby_version: !ruby/object:Gem::Requirement
108
111
  requirements:
109
- - - '>='
112
+ - - ">="
110
113
  - !ruby/object:Gem::Version
111
114
  version: '0'
112
115
  required_rubygems_version: !ruby/object:Gem::Requirement
113
116
  requirements:
114
- - - '>='
117
+ - - ">="
115
118
  - !ruby/object:Gem::Version
116
119
  version: '0'
117
120
  requirements: []
118
121
  rubyforge_project:
119
- rubygems_version: 2.1.11
122
+ rubygems_version: 2.6.14
120
123
  signing_key:
121
124
  specification_version: 4
122
125
  summary: Rack::Passbook