julia_builder 0.1.4 → 0.1.5
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 +4 -4
- data/.travis.yml +1 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -1
- data/README.md +5 -0
- data/julia.gemspec +4 -1
- data/lib/julia/builder.rb +13 -7
- data/lib/julia/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 808abf3fd681906bfc3e92b9bd2e529ff48d10f9
|
4
|
+
data.tar.gz: 1252a2784930125260636e9989b1f445567fd0ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b143da4a72d4a15a87a62d1ed40b1b5bf6a1bc71ccb43c390e3defa3053a1b71c5f23fa11644a389a29f985f8b485e174fc12c2b18441f2d0a0d39b75937898
|
7
|
+
data.tar.gz: 1128c346625e9ba6da0e24e71aaeb46a024d2a29e6ae6fe91383030b9d4d256dbc816867af9289c004d39a4339e0654458f9ed9be3881961eeffe5c0e5de2bf5
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Julia Builder
|
2
|
+
[](https://badge.fury.io/rb/julia_builder)
|
2
3
|
[](https://travis-ci.org/stevenbarragan/julia_builder)
|
4
|
+
[](https://codeclimate.com/github/stevenbarragan/julia_builder)
|
3
5
|
[](https://codeclimate.com/github/stevenbarragan/julia_builder/coverage)
|
4
6
|
|
5
7
|
Julia helps you out to create flexible builders to easily export your queries to csv (for now).
|
@@ -40,6 +42,9 @@ require 'julia'
|
|
40
42
|
column :name
|
41
43
|
# header equals 'name', value will be `user.name`
|
42
44
|
|
45
|
+
# specify many columns at once
|
46
|
+
columns :name, :lastname, :dob
|
47
|
+
|
43
48
|
# when you need to do some extra work on the value you can pass a proc.
|
44
49
|
column 'Full name', -> { "#{ name.capitalize } #{ last_name.capitalize }" }
|
45
50
|
|
data/julia.gemspec
CHANGED
@@ -19,9 +19,12 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.required_ruby_version = '>= 1.9'
|
23
|
+
|
22
24
|
spec.add_development_dependency "bundler", "~> 1.10"
|
23
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
26
|
spec.add_development_dependency "rspec"
|
25
27
|
spec.add_development_dependency "activerecord"
|
26
|
-
spec.add_development_dependency "sqlite3"
|
28
|
+
spec.add_development_dependency "sqlite3" unless RUBY_PLATFORM == "java"
|
29
|
+
spec.add_development_dependency "activerecord-jdbcsqlite3-adapter" if RUBY_PLATFORM == "java"
|
27
30
|
end
|
data/lib/julia/builder.rb
CHANGED
@@ -9,19 +9,25 @@ module Julia
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.column(keyname, action = nil, &block)
|
12
|
-
|
12
|
+
columns_config[keyname] = Action.new(keyname, action, &block)
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.columns
|
16
|
-
|
15
|
+
def self.columns(*args)
|
16
|
+
args.each do |key|
|
17
|
+
column(key)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.columns_config
|
22
|
+
@columns_config ||= {}
|
17
23
|
end
|
18
24
|
|
19
25
|
def build
|
20
26
|
CSV.generate(csv_options) do |csv|
|
21
|
-
csv <<
|
27
|
+
csv << columns_config.keys
|
22
28
|
|
23
29
|
collection.each do |record|
|
24
|
-
csv <<
|
30
|
+
csv << columns_config.values.map do |action|
|
25
31
|
action.get_value(record)
|
26
32
|
end
|
27
33
|
end
|
@@ -34,8 +40,8 @@ module Julia
|
|
34
40
|
|
35
41
|
protected
|
36
42
|
|
37
|
-
def
|
38
|
-
self.class.
|
43
|
+
def columns_config
|
44
|
+
self.class.columns_config
|
39
45
|
end
|
40
46
|
end
|
41
47
|
end
|
data/lib/julia/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: julia_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Barragán
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- ".rspec"
|
92
92
|
- ".ruby-version"
|
93
93
|
- ".travis.yml"
|
94
|
+
- CHANGELOG.md
|
94
95
|
- CODE_OF_CONDUCT.md
|
95
96
|
- Gemfile
|
96
97
|
- LICENSE.txt
|
@@ -116,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
117
|
requirements:
|
117
118
|
- - ">="
|
118
119
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
120
|
+
version: '1.9'
|
120
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
122
|
requirements:
|
122
123
|
- - ">="
|