csv_class_maker 1.1.0 → 2.0.0

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
- 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'"