credit_card_reader 0.0.2 → 0.0.3

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: 25652666d81a1835bf29cd6a983a9fc322e2a1a9
4
- data.tar.gz: cc701ab6c58564283892fa7d784c9d3d20aeb4ba
3
+ metadata.gz: 1794dfb54305bf2be7ec839bd9531a521fdd6f1d
4
+ data.tar.gz: 4eeeccdee89f446db658a4a51e4f8376edc37042
5
5
  SHA512:
6
- metadata.gz: 6715549d6c7dabd68a6d173ccdc2664324700a14f26c19686ead07deccd833e4f080c00fa34adf97310e767b044db51a8dcb36aaec6458ebbaab2dbcfb190f3e
7
- data.tar.gz: b008f056c54c073a10b527ff38f246d30cf6126f014aa58e1a1b96974f469f83044a34195a09068d24bdf15939d6c5785390dd2b43f64b0390acdb13519f80c5
6
+ metadata.gz: fa86b7f9f948a78b19c443bb1ad45d84a46ead76126561870e6bed99189bc7a8e9a58017967324b61afab5b7263d40280bc30223f279ed3371663f5dda9148b8
7
+ data.tar.gz: a9e94e6e859c40ae392c80529722c1e8ff784e5bddb39644651681b85d7ae9bd483da8acb4abdb36024fb0004786324fd66e64dfc3a21154906d46192939786b
data/Gemfile CHANGED
@@ -1,6 +1,11 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ group :development do
4
+ gem 'pry'
5
+ end
6
+
3
7
  group :test do
8
+ gem 'rspec', '~> 3.0'
4
9
  gem 'simplecov', require: false
5
10
  gem "codeclimate-test-reporter", require: nil
6
11
  end
@@ -14,6 +14,5 @@ Gem::Specification.new do |s|
14
14
  s.files = `git ls-files`.split($/)
15
15
  s.require_paths = ['lib']
16
16
 
17
- s.add_development_dependency "pry", "~> 0.10.0"
18
- s.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
17
+ s.add_runtime_dependency "luhn-check", "~> 0.0.5"
19
18
  end
@@ -1,3 +1,5 @@
1
+ require 'luhn'
2
+
1
3
  require 'credit_card_reader/detector'
2
4
  require 'credit_card_reader/result'
3
5
  require 'credit_card_reader/version'
@@ -17,7 +17,8 @@ module CreditCardReader
17
17
  }
18
18
 
19
19
  def detect(number)
20
- Result.new(brand: detect_brand(number))
20
+ valid = ::Luhn.valid?(number.to_i) # luhn-check gem requires Fixnum type
21
+ Result.new(number: number, brand: detect_brand(number), valid: valid)
21
22
  end
22
23
 
23
24
  private
@@ -1,9 +1,14 @@
1
1
  module CreditCardReader
2
2
  class Result
3
- attr_reader :brand
3
+ attr_reader :brand, :valid
4
4
 
5
5
  def initialize(options)
6
6
  @brand = options[:brand]
7
+ @valid = options[:valid]
8
+ end
9
+
10
+ def valid?
11
+ valid
7
12
  end
8
13
  end
9
14
  end
@@ -1,6 +1,6 @@
1
1
  module CreditCardReader
2
2
  MAJOR = 0
3
3
  MINOR = 0
4
- PATCH = 2
4
+ PATCH = 3
5
5
  VERSION = [MAJOR, MINOR, PATCH].join('.').freeze
6
6
  end
@@ -2,14 +2,14 @@ require 'spec_helper'
2
2
 
3
3
  describe CreditCardReader::Detector do
4
4
  describe "#detect" do
5
- subject { described_class.new.detect(number) }
5
+ let(:detector) { described_class.new }
6
6
 
7
7
  shared_examples "a detect result" do |brand, number|
8
8
  context "with #{brand}" do
9
9
  let(:number) { number }
10
10
 
11
- it { should be_a CreditCardReader::Result }
12
- it { expect(subject.brand).to eq brand }
11
+ it { expect(detector.detect(number)).to be_a CreditCardReader::Result }
12
+ it { expect(detector.detect(number).brand).to eq brand }
13
13
  end
14
14
  end
15
15
 
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe CreditCardReader::Result do
4
+ describe "#valid?" do
5
+ it "returns true with valid is true" do
6
+ result = described_class.new(brand: "brand", valid: true)
7
+
8
+ expect(result.valid?).to be_truthy
9
+ end
10
+
11
+ it "returns false with valid is false" do
12
+ result = described_class.new(brand: "brand", valid: false)
13
+
14
+ expect(result.valid?).to be_falsey
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,49 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credit_card_reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Saito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-03 00:00:00.000000000 Z
11
+ date: 2015-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pry
14
+ name: luhn-check
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.0
20
- type: :development
19
+ version: 0.0.5
20
+ type: :runtime
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.10.0
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 3.0.0
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - "~>"
42
- - !ruby/object:Gem::Version
43
- version: '3.0'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 3.0.0
26
+ version: 0.0.5
47
27
  description: Detect credit card information
48
28
  email:
49
29
  - camelmasa@gmail.com
@@ -62,6 +42,7 @@ files:
62
42
  - lib/credit_card_reader/result.rb
63
43
  - lib/credit_card_reader/version.rb
64
44
  - spec/credit_card_reader/detector_spec.rb
45
+ - spec/credit_card_reader/result_spec.rb
65
46
  - spec/spec_helper.rb
66
47
  homepage: https://github.com/camelmasa/credit_card_reader
67
48
  licenses: