moneris_simulator 0.1.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 438ed44f5d599ac823ccc20fd72c997f0cdb778c
4
+ data.tar.gz: c93ba233becba66c51fd78ba9647b8f3ec0c4556
5
+ SHA512:
6
+ metadata.gz: b08e42c3289ab3c84fce111f7e22f08b70e08238e259a893be552d3ebf33766bd33b1b74e40dbc9b9819a3e3ab86766bf9d20b24da82633f262e4fd39bcd28ee
7
+ data.tar.gz: f5aeb184c768298af5012914bec5e9101108c01f25d8968aec1feebfb4b1fe34d4d88c0240043e0aafcff8607f83d1ec444364dfa7dc8e80f812bab42ae56f63
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/internal/db/*.sqlite
9
+ /spec/internal/tmp
10
+ /spec/reports/
11
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require rails_helper
@@ -0,0 +1,4 @@
1
+ SimpleCov.start 'rails' do
2
+ SimpleCov.minimum_coverage 100.00
3
+ add_filter "lib/moneris_simulator/version"
4
+ end
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.0
4
+ before_install: gem install bundler -v 1.11.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in moneris_simulator.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Michael van den Beuken
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,71 @@
1
+ # MonerisSimulator
2
+
3
+ MonerisSimulator is an engine that acts like the Moneris Hosted Tokenization service.
4
+
5
+ This allows us to test payment pages that use Moneris Hosted Tokenization in a way that is consistent with how the forms would work in a staging or production environment.
6
+
7
+ The engine will automatically mount itself in whichever environments the gem is included in, and will add its assets to the precompile list in those environments as well.
8
+
9
+ ```moneris_simulator.new_credit_card_path``` (/moneris/credit_cards/new) will return a credit card input with CSS styles applied, and javascript that will handle a postMessage event in a way that is consistent with Moneris' behaviour.
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ ```ruby
16
+ group :development, :test do
17
+ gem 'moneris_simulator'
18
+ end
19
+ ```
20
+
21
+ And then execute:
22
+
23
+ $ bundle
24
+
25
+ Or install it yourself as:
26
+
27
+ $ gem install moneris_simulator
28
+
29
+ ## Usage
30
+
31
+ Moneris Hosted Tokenization requires a payment form to include the tokenization page in an iframe, and render that as the credit card number input.
32
+ When the payment form is submitted, the click event is intercepted and a postMessage is sent to the iframe. A postMessage handler is included on the form, and waits for Moneris to post back to the parent page after it has validated the card and generated a token. It posts back with a stringified JSON object that contains dataKey (the credit card token), bin (the first 6 digits of the credit card), and responseCode (1 is a success, 50+ is a failure).
33
+
34
+ To use the MonerisSimulator, make the iframe URL variable like so:
35
+
36
+ ```
37
+ <iframe id="monerisFrame" class="moneris" src="<%= Rails.configuration.moneris_hosted_tokenization_url" frameborder="0" scrolling="no" height="37px"></iframe>
38
+ ```
39
+
40
+ in config/environments/test.rb:
41
+
42
+ ```
43
+ config.moneris_hosted_tokenization_url = "/moneris/credit_cards/new"
44
+ ```
45
+
46
+ in your feature spec:
47
+
48
+ ```
49
+ within_frame "monerisFrame" do
50
+ fill_in "monerisDataInput", with: credit_card_number
51
+ end
52
+ ```
53
+
54
+ where ```credit_card_number``` can be changed depending on the test context; a valid test credit card number from MonerisSimulator.CreditCard.validCreditCards, or an invalid test credit card number.
55
+
56
+
57
+ ## Development
58
+
59
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
60
+
61
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
62
+
63
+ ## Contributing
64
+
65
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/moneris_simulator.
66
+
67
+
68
+ ## License
69
+
70
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
71
+
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
@@ -0,0 +1,37 @@
1
+ class MonerisSimulator.CreditCard
2
+ constructor: (args = {}) ->
3
+ args = $.extend {}, @defaults(), args
4
+ @validCreditCards = args.validCreditCards
5
+ @creditCardNumberInput = args.creditCardNumberInput
6
+ @setUpMonerisPostback()
7
+
8
+ setUpMonerisPostback: () ->
9
+ $(window).on 'message onmessage', (e) =>
10
+ window.parent.postMessage @response(), "*"
11
+
12
+ response: () ->
13
+ JSON.stringify { dataKey: @dataKey(), bin: @bin(), responseCode: @responseCode() }
14
+
15
+ creditCardNumber: () ->
16
+ @creditCardNumberInput.val().replace /\D/g, ""
17
+
18
+ dataKey: () ->
19
+ "ot-6mj5lng5b3bnnieo6ccf95p3eap4mjd"
20
+
21
+ bin: () ->
22
+ @creditCardNumber().substring 0, 6
23
+
24
+ responseCode: () ->
25
+ if @validCreditCard() then "1" else "51"
26
+
27
+ validCreditCard: () ->
28
+ @creditCardNumber() in @validCreditCards
29
+
30
+ defaults: () ->
31
+ validCreditCards: ["4502285070000007", "4924190000003750", "4551210032790206", "4924190000000145", "4524000000015080", \
32
+ "4001272222222222", "5454545454545454", "5191111111111111", "5191222222222224", "5191333333333337", \
33
+ "5191444444444440", "5191555555555557", "5191666666666660", "5191777777777773", "5191888888888886"]
34
+ creditCardNumberInput: $("#monerisDataInput")
35
+
36
+ $(document).ready ->
37
+ new MonerisSimulator.CreditCard
@@ -0,0 +1,4 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require ./namespace
4
+ //= require ./credit_card
@@ -0,0 +1 @@
1
+ @MonerisSimulator = window.MonerisSimulator ? {}
@@ -0,0 +1 @@
1
+ @import "inputs";
@@ -0,0 +1,70 @@
1
+ body{
2
+ margin: 0;
3
+ }
4
+
5
+ .monerisInput{
6
+ display: block;
7
+ -webkit-appearance: none;
8
+ -webkit-box-shadow: rgba(0, 0, 0, 0.0980392) 0px 1px 2px 0px inset;
9
+ -webkit-rtl-ordering: logical;
10
+ -webkit-transition-delay: 0s, 0s;
11
+ -webkit-transition-duration: 0.45s, 0.45s;
12
+ -webkit-transition-property: box-shadow, border-color;
13
+ -webkit-transition-timing-function: ease, ease-in-out;
14
+ -webkit-user-select: text;
15
+ -webkit-writing-mode: horizontal-tb;
16
+ background-color: rgb(255, 255, 255);
17
+ border-bottom-color: rgb(204, 204, 204);
18
+ border-bottom-left-radius: 3px;
19
+ border-bottom-right-radius: 3px;
20
+ border-bottom-style: solid;
21
+ border-bottom-width: 1px;
22
+ border-image-outset: 0px;
23
+ border-image-repeat: stretch;
24
+ border-image-slice: 100%;
25
+ border-image-source: none;
26
+ border-image-width: 1;
27
+ border-left-color: rgb(204, 204, 204);
28
+ border-left-style: solid;
29
+ border-left-width: 1px;
30
+ border-right-color: rgb(204, 204, 204);
31
+ border-right-style: solid;
32
+ border-right-width: 1px;
33
+ border-top-color: rgb(204, 204, 204);
34
+ border-top-left-radius: 3px;
35
+ border-top-right-radius: 3px;
36
+ border-top-style: solid;
37
+ border-top-width: 1px;
38
+ box-shadow: rgba(0, 0, 0, 0.0980392) 0px 1px 2px 0px inset;
39
+ box-sizing: border-box;
40
+ color: rgba(0, 0, 0, 0.74902);
41
+ cursor: auto;
42
+ display: block;
43
+ font-family: Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
44
+ font-size: 14px;
45
+ font-style: normal;
46
+ font-variant: normal;
47
+ font-weight: normal;
48
+ height: 37px;
49
+ letter-spacing: normal;
50
+ line-height: normal;
51
+ margin-bottom: 0px;
52
+ margin-left: 0px;
53
+ margin-right: 0px;
54
+ margin-top: 0px;
55
+ padding-bottom: 8px;
56
+ padding-left: 8px;
57
+ padding-right: 8px;
58
+ padding-top: 8px;
59
+ text-align: start;
60
+ text-indent: 0px;
61
+ text-shadow: none;
62
+ text-transform: none;
63
+ transition-delay: 0s, 0s;
64
+ transition-duration: 0.45s, 0.45s;
65
+ transition-property: box-shadow, border-color;
66
+ transition-timing-function: ease, ease-in-out;
67
+ width: 100%;
68
+ word-spacing: 0px;
69
+ writing-mode: lr-tb;
70
+ }
@@ -0,0 +1,5 @@
1
+ module MonerisSimulator
2
+ class CreditCardsController < ActionController::Base
3
+ layout "moneris_simulator/application"
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ <html>
2
+ <head>
3
+ <%= stylesheet_link_tag "moneris_simulator", media: "all" %>
4
+ <%= javascript_include_tag "moneris_simulator" %>
5
+ <%= javascript_include_tag "vendor/modernizr" %>
6
+ <%= csrf_meta_tags %>
7
+ </head>
8
+ <body>
9
+ <%= yield %>
10
+ </body>
11
+ </html>
12
+
@@ -0,0 +1 @@
1
+ <input type="tel" class="monerisInput" id="monerisDataInput" autocomplete="cc-number" />
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "moneris_simulator"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ Bundler.require :default, :development
5
+
6
+ Combustion.initialize! :all
7
+ run Combustion::Application
@@ -0,0 +1,3 @@
1
+ MonerisSimulator::Engine.routes.draw do
2
+ resources :credit_cards, only: :new
3
+ end
@@ -0,0 +1,7 @@
1
+ require "rails"
2
+ require "moneris_simulator/engine"
3
+ require "moneris_simulator/version"
4
+ require "jquery-rails"
5
+
6
+ module MonerisSimulator
7
+ end
@@ -0,0 +1,13 @@
1
+ module MonerisSimulator
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace MonerisSimulator
4
+
5
+ config.after_initialize do |app|
6
+ app.routes.prepend do
7
+ mount MonerisSimulator::Engine, at: "moneris"
8
+ end
9
+
10
+ app.config.assets.precompile += %w(moneris_simulator/index.js moneris_simulator/index.css)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module MonerisSimulator
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'moneris_simulator/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "moneris_simulator"
8
+ spec.version = MonerisSimulator::VERSION
9
+ spec.authors = ["Michael van den Beuken", "Ruben Estevez", "Jordan Babe", "Mathieu Gilbert", "Ryan Jones", "Darko Dosenovic", "Jonathan Weyermann", "Adam Melnyk", "Kayt Campbell", "Kathleen Robertson", "Jesse Doyle"]
10
+ spec.email = ["michael.beuken@gmail.com", "ruben.a.estevez@gmail.com", "jorbabe@gmail.com", "mathieu.gilbert@ama.ab.ca", "ryan.michael.jones@gmail.com", "darko.dosenovic@ama.ab.ca", "jonathan.weyermann@ama.ab.ca", "adam.melnyk@ama.ab.ca", "kayt.campbell@ama.ab.ca", "kathleen.robertson@ama.ab.ca", "jesse.doyle@ama.ab.ca"]
11
+
12
+ spec.summary = %q{Simulator for Moneris Hosted Tokenization}
13
+ spec.description = %q{Simulator for Moneris Hosted Tokenization}
14
+ spec.homepage = "https://github.com/amaabca/moneris_simulator"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency "coffee-rails"
23
+ spec.add_dependency "jquery-rails"
24
+ spec.add_dependency "rails", "~> 4.2"
25
+ spec.add_dependency "sass-rails"
26
+ spec.add_development_dependency "bundler", "~> 1.11"
27
+ spec.add_development_dependency "capybara"
28
+ spec.add_development_dependency "capybara-webkit"
29
+ spec.add_development_dependency "combustion"
30
+ spec.add_development_dependency "database_cleaner"
31
+ spec.add_development_dependency "factory_girl_rails"
32
+ spec.add_development_dependency "launchy"
33
+ spec.add_development_dependency "pry"
34
+ spec.add_development_dependency "rake", "~> 10.0"
35
+ spec.add_development_dependency "rspec", "~> 3.0"
36
+ spec.add_development_dependency "rspec-rails"
37
+ spec.add_development_dependency "shoulda-matchers"
38
+ spec.add_development_dependency "simplecov"
39
+ spec.add_development_dependency "sqlite3"
40
+ spec.add_development_dependency "webmock"
41
+ end
metadata ADDED
@@ -0,0 +1,354 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: moneris_simulator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Michael van den Beuken
8
+ - Ruben Estevez
9
+ - Jordan Babe
10
+ - Mathieu Gilbert
11
+ - Ryan Jones
12
+ - Darko Dosenovic
13
+ - Jonathan Weyermann
14
+ - Adam Melnyk
15
+ - Kayt Campbell
16
+ - Kathleen Robertson
17
+ - Jesse Doyle
18
+ autorequire:
19
+ bindir: exe
20
+ cert_chain: []
21
+ date: 2016-03-14 00:00:00.000000000 Z
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: coffee-rails
25
+ requirement: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ type: :runtime
31
+ prerelease: false
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ - !ruby/object:Gem::Dependency
38
+ name: jquery-rails
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ - !ruby/object:Gem::Dependency
52
+ name: rails
53
+ requirement: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '4.2'
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '4.2'
65
+ - !ruby/object:Gem::Dependency
66
+ name: sass-rails
67
+ requirement: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: bundler
81
+ requirement: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '1.11'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.11'
93
+ - !ruby/object:Gem::Dependency
94
+ name: capybara
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ - !ruby/object:Gem::Dependency
108
+ name: capybara-webkit
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ type: :development
115
+ prerelease: false
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ - !ruby/object:Gem::Dependency
122
+ name: combustion
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ - !ruby/object:Gem::Dependency
136
+ name: database_cleaner
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ - !ruby/object:Gem::Dependency
150
+ name: factory_girl_rails
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ type: :development
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ - !ruby/object:Gem::Dependency
164
+ name: launchy
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ type: :development
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ - !ruby/object:Gem::Dependency
178
+ name: pry
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ type: :development
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ - !ruby/object:Gem::Dependency
192
+ name: rake
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: '10.0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - "~>"
203
+ - !ruby/object:Gem::Version
204
+ version: '10.0'
205
+ - !ruby/object:Gem::Dependency
206
+ name: rspec
207
+ requirement: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - "~>"
210
+ - !ruby/object:Gem::Version
211
+ version: '3.0'
212
+ type: :development
213
+ prerelease: false
214
+ version_requirements: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - "~>"
217
+ - !ruby/object:Gem::Version
218
+ version: '3.0'
219
+ - !ruby/object:Gem::Dependency
220
+ name: rspec-rails
221
+ requirement: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ type: :development
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ - !ruby/object:Gem::Dependency
234
+ name: shoulda-matchers
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ type: :development
241
+ prerelease: false
242
+ version_requirements: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ - !ruby/object:Gem::Dependency
248
+ name: simplecov
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - ">="
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ type: :development
255
+ prerelease: false
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - ">="
259
+ - !ruby/object:Gem::Version
260
+ version: '0'
261
+ - !ruby/object:Gem::Dependency
262
+ name: sqlite3
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
268
+ type: :development
269
+ prerelease: false
270
+ version_requirements: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ version: '0'
275
+ - !ruby/object:Gem::Dependency
276
+ name: webmock
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ version: '0'
282
+ type: :development
283
+ prerelease: false
284
+ version_requirements: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: '0'
289
+ description: Simulator for Moneris Hosted Tokenization
290
+ email:
291
+ - michael.beuken@gmail.com
292
+ - ruben.a.estevez@gmail.com
293
+ - jorbabe@gmail.com
294
+ - mathieu.gilbert@ama.ab.ca
295
+ - ryan.michael.jones@gmail.com
296
+ - darko.dosenovic@ama.ab.ca
297
+ - jonathan.weyermann@ama.ab.ca
298
+ - adam.melnyk@ama.ab.ca
299
+ - kayt.campbell@ama.ab.ca
300
+ - kathleen.robertson@ama.ab.ca
301
+ - jesse.doyle@ama.ab.ca
302
+ executables: []
303
+ extensions: []
304
+ extra_rdoc_files: []
305
+ files:
306
+ - ".gitignore"
307
+ - ".rspec"
308
+ - ".simplecov"
309
+ - ".travis.yml"
310
+ - Gemfile
311
+ - LICENSE.txt
312
+ - README.md
313
+ - Rakefile
314
+ - app/assets/javascripts/moneris_simulator/credit_card.coffee
315
+ - app/assets/javascripts/moneris_simulator/index.js
316
+ - app/assets/javascripts/moneris_simulator/namespace.coffee
317
+ - app/assets/stylesheets/moneris_simulator/index.scss
318
+ - app/assets/stylesheets/moneris_simulator/inputs.scss
319
+ - app/controllers/moneris_simulator/credit_cards_controller.rb
320
+ - app/views/layouts/moneris_simulator/application.html.erb
321
+ - app/views/moneris_simulator/credit_cards/new.html.erb
322
+ - bin/console
323
+ - bin/setup
324
+ - config.ru
325
+ - config/routes.rb
326
+ - lib/moneris_simulator.rb
327
+ - lib/moneris_simulator/engine.rb
328
+ - lib/moneris_simulator/version.rb
329
+ - moneris_simulator.gemspec
330
+ homepage: https://github.com/amaabca/moneris_simulator
331
+ licenses:
332
+ - MIT
333
+ metadata: {}
334
+ post_install_message:
335
+ rdoc_options: []
336
+ require_paths:
337
+ - lib
338
+ required_ruby_version: !ruby/object:Gem::Requirement
339
+ requirements:
340
+ - - ">="
341
+ - !ruby/object:Gem::Version
342
+ version: '0'
343
+ required_rubygems_version: !ruby/object:Gem::Requirement
344
+ requirements:
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
348
+ requirements: []
349
+ rubyforge_project:
350
+ rubygems_version: 2.4.5
351
+ signing_key:
352
+ specification_version: 4
353
+ summary: Simulator for Moneris Hosted Tokenization
354
+ test_files: []