cspec 0.2.3 → 0.2.4

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
  SHA256:
3
- metadata.gz: 33a7923727e5bed051ce65388598a0312fa182a1126d8918e4e1229209853642
4
- data.tar.gz: 203ff7ba672c258a6858a29d7f6ccdb5121708198ac91ac20eb8eea1bca14119
3
+ metadata.gz: 4de36af904dcb6411a59838e1ed2f415bbf82103db8bdaad599c6be4f3afc5e1
4
+ data.tar.gz: 19da5e138539e167c6084040eea3c1ef5e165e833d56e2cc0e15960f24c824d8
5
5
  SHA512:
6
- metadata.gz: 0556b01b0fa012e11b77376c9746303927b4e595b8e9b236ac2134ee56a341c2d16ebd84f53c1665041dc1626b7a07c069b0b27c9cef28a1472ba7874e2f3437
7
- data.tar.gz: 57307e7c92ac8129f7c1309bc7eb3db87b6bfba6ff9a5e01cbf70510511121d36402bcc1b87f0fd3f22dc18d550e3d47a9cf193b10d1bd51daa684aaea08ac79
6
+ metadata.gz: 558cad6ce6e23b6519c3d78cf518c4d49d6554e680ca9a7cfc5187eaa1eab52a57a5c386e23b2b6ebc6844feb55cb8dd24e1f87c97af262c0430aece81683a9b
7
+ data.tar.gz: 2a31cc1c832f7e65fedacb7047a6e178065ff3675ddf5e190bb31f6c20f60135d036df8c1cec5376bae044e2be3dbbe7d7845697cd607417e34eeea6778bd787
data/Gemfile.lock CHANGED
@@ -1,13 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cspec (0.2.2)
4
+ cspec (0.2.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ coderay (1.1.3)
9
10
  diff-lcs (1.5.0)
10
11
  docile (1.4.0)
12
+ method_source (1.0.0)
13
+ pry (0.14.1)
14
+ coderay (~> 1.1)
15
+ method_source (~> 1.0)
11
16
  rake (10.5.0)
12
17
  rspec (3.11.0)
13
18
  rspec-core (~> 3.11.0)
@@ -35,6 +40,7 @@ PLATFORMS
35
40
  DEPENDENCIES
36
41
  bundler (~> 1.17)
37
42
  cspec!
43
+ pry
38
44
  rake (~> 10.0)
39
45
  rspec (~> 3.0)
40
46
  simplecov
data/cspec.gemspec CHANGED
@@ -39,6 +39,7 @@ Gem::Specification.new do |spec|
39
39
  spec.require_paths = ['lib']
40
40
 
41
41
  spec.add_development_dependency 'bundler', '~> 1.17'
42
+ spec.add_development_dependency 'pry'
42
43
  spec.add_development_dependency 'rake', '~> 10.0'
43
44
  spec.add_development_dependency 'rspec', '~> 3.0'
44
45
  spec.add_development_dependency 'simplecov'
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- cspec (0.2.1)
4
+ cspec (0.2.3)
5
5
 
6
6
  PLATFORMS
7
7
  ruby
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- cspec (0.2.1)
4
+ cspec (0.2.3)
5
5
 
6
6
  PLATFORMS
7
7
  ruby
@@ -1,4 +1,3 @@
1
1
  class,name,type,method,expected
2
2
  MyClass,my test,instance,hello,world
3
- MyClass,my test,instance,ok?,true
4
-
3
+ MyClass,my test,instance,ok?,true
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- cspec (0.2.1)
4
+ cspec (0.2.3)
5
5
 
6
6
  PLATFORMS
7
7
  ruby
@@ -2,6 +2,16 @@
2
2
 
3
3
  module CSpec
4
4
  module DataType
5
+ MATCHERS = [
6
+ { condition: /^\d+\.\d+$/, proc: proc { |input| input.to_f } },
7
+ { condition: /^\d+$/, proc: proc { |input| input.to_i } },
8
+ { condition: /true/, proc: proc { true } },
9
+ { condition: /^\[.*\]$/, proc: proc { |input| eval(input) } },
10
+ { condition: /false/, proc: proc { false } },
11
+ { condition: /nil/, proc: proc { nil } },
12
+ { condition: /^$/, proc: proc { nil } }
13
+ ].freeze
14
+
5
15
  def self.convert_all(inputs)
6
16
  return nil unless inputs
7
17
 
@@ -12,12 +22,9 @@ module CSpec
12
22
  return input unless input.instance_of?(String)
13
23
 
14
24
  input = input.strip
15
- return input.to_f if input =~ /^\d+\.\d+$/
16
- return input.to_i if input =~ /^\d+$/
17
- return eval(input) if input =~ /^\[.*\]$/
18
- return true if input == 'true'
19
- return false if input == 'false'
20
- return nil if ['', nil, 'nil'].include?(input)
25
+ MATCHERS.each do |matcher|
26
+ return matcher[:proc].call(input) if input.match?(matcher[:condition])
27
+ end
21
28
 
22
29
  input.to_s
23
30
  end
data/lib/cspec/runner.rb CHANGED
@@ -12,6 +12,8 @@ module CSpec
12
12
 
13
13
  return true if CSpec::Result.success?(results)
14
14
 
15
+ puts results.inspect
16
+ puts '#######################'
15
17
  ResultsOutputter.display(results)
16
18
  false
17
19
  end
data/lib/cspec/spec.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'pry'
3
4
  module CSpec
4
5
  class Spec
5
6
  attr_reader :class,
@@ -30,15 +31,35 @@ module CSpec
30
31
  end
31
32
 
32
33
  def error
33
- return "#{self.class} does not exist" unless Object.const_defined?(self.class)
34
+ return ["#{self.class} does not exist"] unless Object.const_defined?(self.class)
34
35
 
35
- return "#{type} method: #{method} does not exist" unless Object.const_get(self.class).method_defined?(method)
36
+ errors = []
36
37
 
37
- nil
38
+ errors += send("#{type}_errors")
39
+
40
+ errors.size.positive? ? errors.flatten : nil
38
41
  end
39
42
 
40
43
  def to_s
41
44
  "name: #{name}, class: #{self.class}, method: #{method}, method_args: #{method_args}"
42
45
  end
46
+
47
+ private
48
+
49
+ def class_errors
50
+ if Object.const_get(self.class).respond_to?(method.to_sym)
51
+ []
52
+ else
53
+ ["#{type} method: #{self.class}##{method} does not exist"]
54
+ end
55
+ end
56
+
57
+ def instance_errors
58
+ if !Object.const_get(self.class)&.method_defined?(method.to_sym)
59
+ ["#{type} method: #{self.class}##{method} does not exist"]
60
+ else
61
+ []
62
+ end
63
+ end
43
64
  end
44
65
  end
@@ -9,7 +9,7 @@ module CSpec
9
9
  end
10
10
 
11
11
  def self.validate_specs(specs)
12
- specs.map(&:error).reject(&:nil?)
12
+ specs.map(&:error).reject(&:nil?).flatten
13
13
  end
14
14
  end
15
15
  end
data/lib/cspec/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CSpec
4
- VERSION = '0.2.3'
4
+ VERSION = '0.2.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarrod Folino
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.17'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement