structured_csv 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 5f0d139cdc9ff3d124d745b783e00c1e9128efaf723df4976c19605a823dec6f
4
- data.tar.gz: 396d9c993b850a571746a68cd64ee1c7a295d41d612c534196cb48c87c0415d7
3
+ metadata.gz: b2be5d95ae78c40e2e0060fbb04fd7df15bcbd80cd94b72a51a7ede81783fabf
4
+ data.tar.gz: 258a09fb19ecb5f0a784c0b742806975c8d085ecb938cc49bb098eb6f5571b7d
5
5
  SHA512:
6
- metadata.gz: 656fa1acf23c402402f8bc3ddc5b00c81fb805dbd3128be8c6ea301e7e3fdc4fa2105126ac2e452e5050178442bd0910f1ad141cc8820f39af68a09ce2c7f2de
7
- data.tar.gz: d5371f377396641b87f878ada7e0e9c15cdff14afe46c2c3035e1da4d92bfc6b7a1323e2d9df0447574d35861d04abec394f1237d57e605479cc67dd00264c01
6
+ metadata.gz: 83e5fd945dab4fa147e147565980418198f3f298d23d266a4051d70229f0739a91f8c29b8ed634703944f991bc9e48eb7a9aecd0edb410e49905af3b25026eef
7
+ data.tar.gz: 479cedec9f895269e238df4685279e6300864056f516bdcd699854a0c3310c0d634888d70b43ff4bf3d5d31e326d3c19a8171cf90d94ecdf2172ecb02722538c
data/.editorconfig ADDED
@@ -0,0 +1,18 @@
1
+ # top-most EditorConfig file
2
+ root = true
3
+
4
+ # Unix-style newlines with a newline ending every file
5
+ [*]
6
+ charset = utf-8
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ indent_style = space
10
+ indent_size = 2
11
+
12
+ [Makefile]
13
+ indent_style = tab
14
+ indent_size = 8
15
+
16
+ # Tab indentation (no size specified)
17
+ [*.sh]
18
+ indent_style = tab
data/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ .gitignore -text
@@ -4,15 +4,19 @@ on: [push,pull_request]
4
4
 
5
5
  jobs:
6
6
  build:
7
+ continue-on-error: true
7
8
  runs-on: ubuntu-latest
9
+ strategy:
10
+ matrix:
11
+ ruby-version: [2.6.7, 2.7.3, 3.0.1]
8
12
  steps:
9
13
  - uses: actions/checkout@v2
10
14
  - name: Set up Ruby
11
15
  uses: ruby/setup-ruby@v1
12
16
  with:
13
- ruby-version: 2.6.6
17
+ ruby-version: ${{ matrix.ruby-version }}
14
18
  - name: Run the default task
15
19
  run: |
16
20
  gem install bundler -v 2.2.15
17
21
  bundle install
18
- bundle exec rake
22
+ bundle exec rake spec
data/.gitignore CHANGED
@@ -1,11 +1,261 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
1
+ # rspec failure tracking
2
+ .rspec_status
3
+
4
+ .rubocop-http*
5
+
6
+ # Created by https://www.toptal.com/developers/gitignore/api/macos,windows,linux,vim,emacs,textmate,sublimetext,visualstudiocode,ruby,direnv
7
+ # Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,linux,vim,emacs,textmate,sublimetext,visualstudiocode,ruby,direnv
8
+
9
+ ### direnv ###
10
+ .direnv
11
+ .envrc
12
+
13
+ ### Emacs ###
14
+ # -*- mode: gitignore; -*-
15
+ *~
16
+ \#*\#
17
+ /.emacs.desktop
18
+ /.emacs.desktop.lock
19
+ *.elc
20
+ auto-save-list
21
+ tramp
22
+ .\#*
23
+
24
+ # Org-mode
25
+ .org-id-locations
26
+ *_archive
27
+ ltximg/**
28
+
29
+ # flymake-mode
30
+ *_flymake.*
31
+
32
+ # eshell files
33
+ /eshell/history
34
+ /eshell/lastdir
35
+
36
+ # elpa packages
37
+ /elpa/
38
+
39
+ # reftex files
40
+ *.rel
41
+
42
+ # AUCTeX auto folder
43
+ /auto/
44
+
45
+ # cask packages
46
+ .cask/
47
+ dist/
48
+
49
+ # Flycheck
50
+ flycheck_*.el
51
+
52
+ # server auth directory
53
+ /server/
54
+
55
+ # projectiles files
56
+ .projectile
57
+
58
+ # directory configuration
59
+ .dir-locals.el
60
+
61
+ # network security
62
+ /network-security.data
63
+
64
+
65
+ ### Linux ###
66
+
67
+ # temporary files which can be created if a process still has a handle open of a deleted file
68
+ .fuse_hidden*
69
+
70
+ # KDE directory preferences
71
+ .directory
72
+
73
+ # Linux trash folder which might appear on any partition or disk
74
+ .Trash-*
75
+
76
+ # .nfs files are created when an open file is removed but is still being accessed
77
+ .nfs*
78
+
79
+ ### macOS ###
80
+ # General
81
+ .DS_Store
82
+ .AppleDouble
83
+ .LSOverride
84
+
85
+ # Icon must end with two \r
86
+ Icon
87
+
88
+ # Thumbnails
89
+ ._*
90
+
91
+ # Files that might appear in the root of a volume
92
+ .DocumentRevisions-V100
93
+ .fseventsd
94
+ .Spotlight-V100
95
+ .TemporaryItems
96
+ .Trashes
97
+ .VolumeIcon.icns
98
+ .com.apple.timemachine.donotpresent
99
+
100
+ # Directories potentially created on remote AFP share
101
+ .AppleDB
102
+ .AppleDesktop
103
+ Network Trash Folder
104
+ Temporary Items
105
+ .apdisk
106
+
107
+ ### Ruby ###
108
+ *.gem
109
+ *.rbc
110
+ /.config
4
111
  /coverage/
5
- /doc/
112
+ /InstalledFiles
6
113
  /pkg/
7
114
  /spec/reports/
115
+ /spec/examples.txt
116
+ /test/tmp/
117
+ /test/version_tmp/
8
118
  /tmp/
9
119
 
10
- # rspec failure tracking
11
- .rspec_status
120
+ # Used by dotenv library to load environment variables.
121
+ # .env
122
+
123
+ # Ignore Byebug command history file.
124
+ .byebug_history
125
+
126
+ ## Specific to RubyMotion:
127
+ .dat*
128
+ .repl_history
129
+ build/
130
+ *.bridgesupport
131
+ build-iPhoneOS/
132
+ build-iPhoneSimulator/
133
+
134
+ ## Specific to RubyMotion (use of CocoaPods):
135
+ #
136
+ # We recommend against adding the Pods directory to your .gitignore. However
137
+ # you should judge for yourself, the pros and cons are mentioned at:
138
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
139
+ # vendor/Pods/
140
+
141
+ ## Documentation cache and generated files:
142
+ /.yardoc/
143
+ /_yardoc/
144
+ /doc/
145
+ /rdoc/
146
+
147
+ ## Environment normalization:
148
+ /.bundle/
149
+ /vendor/bundle
150
+ /lib/bundler/man/
151
+
152
+ # for a library or gem, you might want to ignore these files since the code is
153
+ # intended to run in multiple environments; otherwise, check them in:
154
+ # Gemfile.lock
155
+ # .ruby-version
156
+ # .ruby-gemset
157
+
158
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
159
+ .rvmrc
160
+
161
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
162
+ # .rubocop-https?--*
163
+
164
+ ### SublimeText ###
165
+ # Cache files for Sublime Text
166
+ *.tmlanguage.cache
167
+ *.tmPreferences.cache
168
+ *.stTheme.cache
169
+
170
+ # Workspace files are user-specific
171
+ *.sublime-workspace
172
+
173
+ # Project files should be checked into the repository, unless a significant
174
+ # proportion of contributors will probably not be using Sublime Text
175
+ # *.sublime-project
176
+
177
+ # SFTP configuration file
178
+ sftp-config.json
179
+
180
+ # Package control specific files
181
+ Package Control.last-run
182
+ Package Control.ca-list
183
+ Package Control.ca-bundle
184
+ Package Control.system-ca-bundle
185
+ Package Control.cache/
186
+ Package Control.ca-certs/
187
+ Package Control.merged-ca-bundle
188
+ Package Control.user-ca-bundle
189
+ oscrypto-ca-bundle.crt
190
+ bh_unicode_properties.cache
191
+
192
+ # Sublime-github package stores a github token in this file
193
+ # https://packagecontrol.io/packages/sublime-github
194
+ GitHub.sublime-settings
195
+
196
+ ### TextMate ###
197
+ *.tmproj
198
+ *.tmproject
199
+ tmtags
200
+
201
+ ### Vim ###
202
+ # Swap
203
+ [._]*.s[a-v][a-z]
204
+ !*.svg # comment out if you don't need vector files
205
+ [._]*.sw[a-p]
206
+ [._]s[a-rt-v][a-z]
207
+ [._]ss[a-gi-z]
208
+ [._]sw[a-p]
209
+
210
+ # Session
211
+ Session.vim
212
+ Sessionx.vim
213
+
214
+ # Temporary
215
+ .netrwhist
216
+ # Auto-generated tag files
217
+ tags
218
+ # Persistent undo
219
+ [._]*.un~
220
+
221
+ ### VisualStudioCode ###
222
+ .vscode/*
223
+ !.vscode/settings.json
224
+ !.vscode/tasks.json
225
+ !.vscode/launch.json
226
+ !.vscode/extensions.json
227
+ *.code-workspace
228
+
229
+ ### VisualStudioCode Patch ###
230
+ # Ignore all local history of files
231
+ .history
232
+ .ionide
233
+
234
+ ### Windows ###
235
+ # Windows thumbnail cache files
236
+ Thumbs.db
237
+ Thumbs.db:encryptable
238
+ ehthumbs.db
239
+ ehthumbs_vista.db
240
+
241
+ # Dump file
242
+ *.stackdump
243
+
244
+ # Folder config file
245
+ [Dd]esktop.ini
246
+
247
+ # Recycle Bin used on file shares
248
+ $RECYCLE.BIN/
249
+
250
+ # Windows Installer files
251
+ *.cab
252
+ *.msi
253
+ *.msix
254
+ *.msm
255
+ *.msp
256
+
257
+ # Windows shortcuts
258
+ *.lnk
259
+
260
+ # End of https://www.toptal.com/developers/gitignore/api/macos,windows,linux,
261
+ # vim,emacs,textmate,sublimetext,visualstudiocode,ruby,direnv
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ Enabled: true
3
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,5 +1,42 @@
1
+ # inherit_from:
2
+ # - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
3
+
4
+ # Override
5
+ require:
6
+ - rubocop-performance
7
+ - rubocop-rspec
8
+ - rubocop-rake
9
+
10
+ # local repo-specific modifications
1
11
  AllCops:
2
- TargetRubyVersion: 2.4
12
+ TargetRubyVersion: 2.6
13
+
14
+ Layout/DotPosition:
15
+ EnforcedStyle: leading
16
+
17
+ # Layout/EmptyLinesAroundBlockBody:
18
+ # Enabled: false
19
+
20
+ # # https://github.com/rubocop-hq/rubocop/issues/6259#issuecomment-420734217
21
+ # Layout/ExtraSpacing:
22
+ # ForceEqualSignAlignment: true
23
+
24
+ Layout/HashAlignment:
25
+ EnforcedColonStyle: table
26
+ EnforcedHashRocketStyle: table
27
+
28
+ Layout/LineLength:
29
+ Max: 120
30
+
31
+ Lint/PercentStringArray:
32
+ # AutoCorrect: false
33
+ Enabled: false
34
+
35
+ Security/YAMLLoad:
36
+ AutoCorrect: false
37
+
38
+ Style/ParenthesesAroundCondition:
39
+ AutoCorrect: false
3
40
 
4
41
  Style/StringLiterals:
5
42
  Enabled: true
@@ -9,5 +46,5 @@ Style/StringLiteralsInInterpolation:
9
46
  Enabled: true
10
47
  EnforcedStyle: double_quotes
11
48
 
12
- Layout/LineLength:
13
- Max: 120
49
+ Style/TrailingCommaInArguments:
50
+ EnforcedStyleForMultiline: comma
data/Gemfile CHANGED
@@ -5,8 +5,10 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in structured_csv.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
9
-
10
- gem "rspec", "~> 3.0"
11
-
12
- gem "rubocop", "~> 1.7"
8
+ group :test do
9
+ gem "rubocop", "~> 1.14", require: false
10
+ gem "rubocop-performance", require: false
11
+ gem "rubocop-rails", require: false
12
+ gem "rubocop-rake", require: false
13
+ gem "rubocop-rspec", require: false
14
+ end
data/README.adoc CHANGED
@@ -1,8 +1,11 @@
1
1
  = Process Structured CSV files (`structured_csv`)
2
2
 
3
+ image:https://badge.fury.io/rb/structured_csv.svg["Gem Version", link="https://badge.fury.io/rb/structured_csv"]
4
+ image:https://github.com/riboseinc/structured_csv/actions/workflows/main.yml/badge.svg["Tests", link="https://github.com/riboseinc/structured_csv/actions/workflows/main.yml"]
5
+
3
6
  == Purpose
4
7
 
5
- The `structured_csv_to_yaml.rb` script converts a "`Structured CSV`" file into a YAML file.
8
+ The `structured_csv_to_yaml` script converts a "`Structured CSV`" file into a YAML file.
6
9
 
7
10
  When you have data of a yet-undefined data structure, it is useful to manage
8
11
  them inside a CSV file which can be viewed and edited by a CSV editor,
@@ -19,11 +22,35 @@ This script supports UTF-8 CSV files.
19
22
  NOTE: This was originally developed to create over 50 normalized data models for ITU Operational Bulletin data. See https://github.com/ituob/ for more details.
20
23
 
21
24
 
25
+ == Installation
26
+
27
+ Add this line to your application's `Gemfile`:
28
+
29
+ [source,ruby]
30
+ ----
31
+ gem 'structured_csv'
32
+ ----
33
+
34
+ and then run:
35
+
36
+ [source,sh]
37
+ ----
38
+ bundle install
39
+ ----
40
+
41
+ Or install it without a `Gemfile`:
42
+
43
+ [source,sh]
44
+ ----
45
+ gem install structured_csv
46
+ ----
47
+
48
+
22
49
  == Usage
23
50
 
24
51
  [source,sh]
25
52
  ----
26
- $ exe/structured_csv_to_yaml.rb [input-file.csv]
53
+ $ structured_csv_to_yaml [input-file.csv]
27
54
  ----
28
55
 
29
56
  Where,
@@ -202,4 +229,3 @@ data:
202
229
  == Examples
203
230
 
204
231
  The `samples/` folder contains a number of complex examples.
205
-