credit_card_reader 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: