csv_class_maker 1.1.0 → 2.0.0

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
- SHA1:
3
- metadata.gz: 1a5b445825a19aad125c8fb3d531aad9001e2f74
4
- data.tar.gz: 859a008a90053f81a0f5954c5c57df10afcfb360
2
+ SHA256:
3
+ metadata.gz: fbae6e1e7d3b23562a1a7043032a73c4bad1a544ddfa2e9250bf30c89e9d26d4
4
+ data.tar.gz: fefe1ecffb86806c7c9cb35babb2791e1eb7feab8c056bc9f30eb66b60ac31fb
5
5
  SHA512:
6
- metadata.gz: e25215d990e0b030b77ef755dfd1b486e1c918de3f30abc86d6dd934311f5f494721d48c1ac8dc9756cf5d27385a652f832b43810c12c51c86b9938af17b572f
7
- data.tar.gz: d7690eaec949f6308ac85dca716d9106b891091f4e00f5d5b55baf49352900a4bc671ea95559a2324424c9b1c696e581190ea08a9939ca04a41b2481dac7bd0e
6
+ metadata.gz: f08d07ecfe0a3e0d1be32952b65b6343f55716a9ddf60b3c326b9f241e6c4f69002645f7e354f65bb783d5503052d4644457a7b41bdb8d45dceeea0328159811
7
+ data.tar.gz: 88d33c001a09dba60689f760267a9b61fbae11fd9a3018edef82ab8e3d91cec5e60595818c026047835e9b4f0e7c770f05a79d7fd06dce1f1904f41a3c38f9bd
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'csv_class_maker/csv_class_maker'
2
- require "csv_find/csv_find"
4
+ require 'csv_find/csv_find'
@@ -1,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Usage:
2
4
  #
3
5
  # require './csv_class_maker'
4
6
  # CsvClassMaker::generate_class 'Batting', '/Users/mplatt/Desktop/Batting.csv'
5
7
 
6
- module CsvClassMaker
8
+ module CsvClassMaker #:nodoc:
7
9
  require 'csv'
8
10
 
9
11
  VERSION = {
10
- major: '1',
11
- minor: '1',
12
+ major: '2',
13
+ minor: '0',
12
14
  patch: '0'
13
15
  }.values.join('.')
14
16
 
@@ -16,7 +18,6 @@ module CsvClassMaker
16
18
  Object.const_set(class_name, Class.new do
17
19
  include CsvFind
18
20
  csv_file(file_name, options)
19
- end
20
- )
21
+ end)
21
22
  end
22
23
  end
@@ -1,114 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require './lib/csv_class_maker'
2
4
 
3
5
  describe CsvClassMaker do
4
6
  context 'class methods' do
5
7
  describe 'generate_class' do
6
8
  it 'makes a new class object from a file' do
7
- CsvClassMaker::generate_class 'People', 'spec/support/demo.csv'
8
- Object.constants.include? :People
9
+ CsvClassMaker.generate_class 'People', 'spec/support/demo.csv'
10
+ expect(Object.constants).to include(:People)
9
11
  end
10
12
 
11
13
  it 'takes a file options' do
12
- people = CsvClassMaker::generate_class 'Other', 'spec/support/delimeter.csv', col_sep: "\t"
13
- people.first.should respond_to(:nickname)
14
- end
15
- end
16
- end
17
- end
18
-
19
- describe Object do
20
- before(:all){
21
- @person1 = People.new(first: 'Mark', last: 'Platt', nickname: 'JCool', line_number: 2)
22
- @person2 = People.new(first: 'Longinus', last: 'Smith', nickname: 'Pebbles', line_number: 3)
23
- @person3 = People.new(first: 'Johnny', last: 'Radiation', nickname: 'Pebbles', line_number: 4)
24
- @person4 = People.new(first: 'Charlie', last: 'Mansfield', nickname: 'Sammykins', line_number: 5)
25
- }
26
-
27
- context 'class methods' do
28
- it "responds to .first" do
29
- (People).should respond_to(:first)
30
- end
31
-
32
- it ".first returns correctly" do
33
- expect(People.first).to eq @person1
34
- end
35
-
36
- it "responds to .last" do
37
- (People).should respond_to(:last)
38
- end
39
-
40
- it ".last returns correctly" do
41
- expect(People.last).to eq @person4
42
- end
43
-
44
- it "responds to .find" do
45
- (People).should respond_to(:find)
46
- end
47
-
48
- it ".find returns correctly" do
49
- expect(People.find(2)).to eq @person1
50
- expect(People.find(3)).to eq @person2
51
- expect(People.find(4)).to eq @person3
52
- expect(People.find(5)).to eq @person4
53
- end
54
-
55
- it "[DEPRECATED] responds to .find_by" do
56
- (People).should respond_to(:find_by)
57
- end
58
-
59
- it "[DEPRECATED] .find_by returns correctly" do
60
- expect(People.find_by(nickname: 'Pebbles')).to eq @person3
61
- expect(People.find_by(nickname: 'Pebbles', last: 'Smith')).to eq @person2
62
- end
14
+ people = CsvClassMaker.generate_class(
15
+ 'Other',
16
+ 'spec/support/delimeter.csv',
17
+ col_sep: "\t"
18
+ )
63
19
 
64
- it ".find_by returns an nil if there are no results" do
65
- expect(People.find_by(nickname: 'Beastmode')).to eq nil
66
- end
67
-
68
-
69
- it "responds to .where" do
70
- (People).should respond_to(:where)
71
- end
72
-
73
- it ".where returns correctly" do
74
- expect(People.where(nickname: 'Pebbles')).to eq [@person2, @person3]
75
- expect(People.where(nickname: 'Pebbles', last: 'Radiation')).to eq [@person3]
76
- end
77
-
78
- it ".where returns an empty array if there are no results" do
79
- expect(People.where(nickname: 'Beastmode')).to eq []
80
- end
81
-
82
- it "[DEPRECATED] responds to .find_all_by" do
83
- (People).should respond_to(:find_all_by)
84
- end
85
-
86
- it "[DEPRECATED] .find_all_by returns correctly" do
87
- expect(People.find_all_by(nickname: 'Pebbles')).to eq [@person2, @person3]
88
- expect(People.find_all_by(nickname: 'Pebbles', last: 'Radiation')).to eq [@person3]
89
- end
90
-
91
- it "responds to .each" do
92
- (People).should respond_to(:each)
93
- end
94
-
95
- it ".each line yields" do
96
- @output = []
97
- People.each{ |person| @output << person.first }
98
- expect(@output).to eq ['Mark', 'Longinus', 'Johnny', 'Charlie']
99
- end
100
- end
101
- context 'instance methods' do
102
- it "responds to .first as defined in the csv" do
103
- (People.new).should respond_to(:first)
104
- end
105
-
106
- it "responds to .last as defined in the csv" do
107
- (People.new).should respond_to(:last)
108
- end
109
-
110
- it "responds to .nickname as defined in the csv" do
111
- (People.new).should respond_to(:nickname)
20
+ expect(people.first).to respond_to(:nickname)
21
+ end
112
22
  end
113
23
  end
114
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_class_maker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Platt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2020-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: csv_find
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.1
19
+ version: 1.0.0
20
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.0.1
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.14.1
33
+ version: 3.9.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: 2.14.1
40
+ version: 3.9.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.82'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.82'
41
55
  description: "'csv_class_maker will create a class out of your csv's headers, and
42
56
  provide some methods for finding data in the CSV'"
43
57
  email: mplatt@mrkplt.com
@@ -60,15 +74,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
60
74
  requirements:
61
75
  - - ">="
62
76
  - !ruby/object:Gem::Version
63
- version: 2.0.0
77
+ version: 2.5.0
64
78
  required_rubygems_version: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  requirements: []
70
- rubyforge_project:
71
- rubygems_version: 2.2.2
84
+ rubygems_version: 3.1.2
72
85
  signing_key:
73
86
  specification_version: 4
74
87
  summary: "'Object oriented CSV reading'"