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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc26ca309e37cc0550fd6e99cd250bf040fee08b
4
- data.tar.gz: 2df434eb9b5b10cb76c57b6b266886d027645578
3
+ metadata.gz: 808abf3fd681906bfc3e92b9bd2e529ff48d10f9
4
+ data.tar.gz: 1252a2784930125260636e9989b1f445567fd0ed
5
5
  SHA512:
6
- metadata.gz: eb72e509d2ad45bddda764e1cbbff64f3b8c0322dcb3598785a0430433515b1cc487504661f8af97eca4cc7a50e88a6828cd63696ce0a16ebf25aeec86bddb4f
7
- data.tar.gz: add679e4e79e00ab393f373e3d8198c8b1c97b92e4df326a24d0bb5723502a5508f233621135fde0815cd85dc452ae39c3c0fa90f6c6615b0a896ba1e011b430
6
+ metadata.gz: 1b143da4a72d4a15a87a62d1ed40b1b5bf6a1bc71ccb43c390e3defa3053a1b71c5f23fa11644a389a29f985f8b485e174fc12c2b18441f2d0a0d39b75937898
7
+ data.tar.gz: 1128c346625e9ba6da0e24e71aaeb46a024d2a29e6ae6fe91383030b9d4d256dbc816867af9289c004d39a4339e0654458f9ed9be3881961eeffe5c0e5de2bf5
data/.travis.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.2.2
4
+ - jruby
4
5
  before_install: gem install bundler -v 1.10.6
5
6
  addons:
6
7
  code_climate:
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Julia Builder changes
2
+
3
+ 0.1.5
4
+ -----------
5
+
6
+ - Speficy ruby 1.9+ as dependency
7
+ - Add `columns` method to set up many columns at once
data/Gemfile CHANGED
@@ -3,5 +3,5 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in julia.gemspec
4
4
  gemspec
5
5
 
6
- gem 'pry-byebug'
7
6
  gem "codeclimate-test-reporter", group: :test, require: nil
7
+ gem 'pry'
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Julia Builder
2
+ [![Gem Version](https://badge.fury.io/rb/julia_builder.svg)](https://badge.fury.io/rb/julia_builder)
2
3
  [![Build Status](https://travis-ci.org/stevenbarragan/julia_builder.svg?branch=master)](https://travis-ci.org/stevenbarragan/julia_builder)
4
+ [![Code Climate](https://codeclimate.com/github/stevenbarragan/julia_builder/badges/gpa.svg)](https://codeclimate.com/github/stevenbarragan/julia_builder)
3
5
  [![Test Coverage](https://codeclimate.com/github/stevenbarragan/julia_builder/badges/coverage.svg)](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
- self.columns[keyname] = Action.new(keyname, action, &block)
12
+ columns_config[keyname] = Action.new(keyname, action, &block)
13
13
  end
14
14
 
15
- def self.columns
16
- @columns ||= {}
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 << columns.keys
27
+ csv << columns_config.keys
22
28
 
23
29
  collection.each do |record|
24
- csv << columns.values.map do |action|
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 columns
38
- self.class.columns
43
+ def columns_config
44
+ self.class.columns_config
39
45
  end
40
46
  end
41
47
  end
data/lib/julia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Julia
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
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
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: 2015-12-11 00:00:00.000000000 Z
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: '0'
120
+ version: '1.9'
120
121
  required_rubygems_version: !ruby/object:Gem::Requirement
121
122
  requirements:
122
123
  - - ">="