magick_columns 0.0.2 → 0.0.3

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.
data/README.md CHANGED
@@ -52,7 +52,7 @@ And you get the people born in the XXI century =)
52
52
  ## Custom configuration
53
53
 
54
54
  If you want to define your own rules, or replace some existing configuration add
55
- in config/initializers one ruby file, for example magick_columns_config.rb
55
+ in `config/initializers` one ruby file, for example `magick_columns_config.rb`
56
56
 
57
57
  ```ruby
58
58
  MagickColumns.setup do |config|
@@ -76,6 +76,31 @@ MagickColumns.setup do |config|
76
76
  end
77
77
  ```
78
78
 
79
+ ## I18n
80
+
81
+ If you want to translate the built in rules, you can =). Add a
82
+ `magick_columns.en.yml` in your `config/locales` and you are done...
83
+
84
+ ```yml
85
+ 'en':
86
+ magick_columns:
87
+ and:
88
+ - and
89
+ or:
90
+ - or
91
+ from:
92
+ - from
93
+ - since
94
+ until:
95
+ - to
96
+ - until
97
+ today:
98
+ - today
99
+ - now
100
+ ```
101
+
102
+ You can see more examples in the `magick_columns/locales` folder.
103
+
79
104
  ## How to contribute
80
105
 
81
106
  If you find what you might think is a bug:
@@ -1,42 +1,49 @@
1
1
  module MagickColumns
2
2
  autoload :DEFAULTS, 'magick_columns/defaults'
3
- autoload :I18N_DEFAULTS, 'magick_columns/defaults'
4
3
  autoload :TOKENIZE_RULES, 'magick_columns/rules'
5
4
  autoload :REPLACEMENT_RULES, 'magick_columns/rules'
6
5
  autoload :Tokenizer, 'magick_columns/tokenizer'
6
+ autoload :I18n, 'magick_columns/i18n'
7
7
 
8
8
  class << self
9
9
  private
10
10
 
11
11
  def _default_setup_for(config)
12
- translation = I18n.t("magick_columns.#{config}", raise: true) rescue MagickColumns::I18N_DEFAULTS[config]
12
+ -> {
13
+ translation = I18n.magick_translate(config)
13
14
 
14
- if translation.respond_to?(:map)
15
- translation.map { |c| Regexp.quote(c) }.join('|')
16
- else
17
- translation
18
- end
15
+ if translation.respond_to?(:map)
16
+ translation.map { |c| Regexp.quote(c) }.join('|')
17
+ else
18
+ translation
19
+ end
20
+ }
19
21
  end
20
22
  end
21
23
 
24
+ DYNAMIC_READERS = [
25
+ :and_operators, :or_operators, :from_operators, :until_operators,
26
+ :today_operators
27
+ ]
28
+
22
29
  # Strings considered "and" spliters
23
- mattr_accessor :and_operators
30
+ mattr_writer :and_operators
24
31
  @@and_operators = _default_setup_for :and
25
32
 
26
33
  # Strings considered "or" spliters
27
- mattr_accessor :or_operators
34
+ mattr_writer :or_operators
28
35
  @@or_operators = _default_setup_for :or
29
36
 
30
37
  # Strings considered "from" terms (like "from 01/01/2012")
31
- mattr_accessor :from_operators
38
+ mattr_writer :from_operators
32
39
  @@from_operators = _default_setup_for :from
33
40
 
34
41
  # Strings considered "until" terms (like "until 01/01/2012")
35
- mattr_accessor :until_operators
42
+ mattr_writer :until_operators
36
43
  @@until_operators = _default_setup_for :until
37
44
 
38
45
  # Strings considered "today" strings (like "from today")
39
- mattr_accessor :today_operators
46
+ mattr_writer :today_operators
40
47
  @@today_operators = _default_setup_for :today
41
48
 
42
49
  # Rules to replace text in the natural string
@@ -47,6 +54,14 @@ module MagickColumns
47
54
  mattr_accessor :tokenize_rules
48
55
  @@tokenize_rules = TOKENIZE_RULES.dup
49
56
 
57
+ DYNAMIC_READERS.each do |m|
58
+ instance_eval <<-RUBY
59
+ def #{m}
60
+ @@#{m}.respond_to?(:call) ? @@#{m}.call : @@#{m}
61
+ end
62
+ RUBY
63
+ end
64
+
50
65
  # Setup method for plugin configuration
51
66
  def self.setup
52
67
  yield self
@@ -28,12 +28,4 @@ module MagickColumns
28
28
  convert: ->(t) { ::Timeliness.parse(t.to_s) }
29
29
  }
30
30
  }
31
-
32
- I18N_DEFAULTS = {
33
- from: ['from', 'since'],
34
- until: ['to', 'until'],
35
- and: ['and'],
36
- or: ['or'],
37
- today: ['today', 'now']
38
- }
39
31
  end
@@ -0,0 +1,25 @@
1
+ module MagickColumns
2
+ module I18n
3
+ def self.locale_dir
4
+ File.expand_path('../locales', __FILE__)
5
+ end
6
+
7
+ def self.load_path
8
+ Dir["#{locale_dir}/*.{rb,yml}"]
9
+ end
10
+
11
+ def self.magick_translate(keys, options = {})
12
+ if defined? ::I18n
13
+ defaults = Array(keys).dup
14
+ defaults << Proc.new if block_given?
15
+ ::I18n.translate(
16
+ defaults.shift,
17
+ options.merge(default: defaults, scope: :magick_columns, raise: true)
18
+ )
19
+ else
20
+ key = Array === keys ? keys.first : keys
21
+ yield key, options
22
+ end
23
+ end
24
+ end
25
+ end
File without changes
File without changes
@@ -1,9 +1,15 @@
1
1
  module MagickColumns
2
2
  class Railtie < Rails::Railtie
3
- initializer 'magick_columns.active_record' do
3
+ initializer 'magick_columns' do
4
4
  ActiveSupport.on_load :active_record do
5
5
  require 'magick_columns/active_record'
6
6
  end
7
+
8
+ self.class.add_locale_path config
9
+ end
10
+
11
+ def self.add_locale_path(config)
12
+ config.i18n.railties_load_path.unshift(*MagickColumns::I18n.load_path)
7
13
  end
8
14
  end
9
15
  end
@@ -2,18 +2,18 @@
2
2
  module MagickColumns
3
3
  TOKENIZE_RULES = {
4
4
  from: {
5
- pattern: /(\A\s*|\s+)(#{MagickColumns.from_operators})\s+(\S+)/,
5
+ pattern: -> { /(\A\s*|\s+)(#{MagickColumns.from_operators})\s+(\S+)/ },
6
6
  tokenizer: ->(match) { { operator: '>=', term: match[3] } }
7
7
  },
8
8
  until:{
9
- pattern: /(\A\s*|\s+)(#{MagickColumns.until_operators})\s+(\S+)/,
9
+ pattern: -> { /(\A\s*|\s+)(#{MagickColumns.until_operators})\s+(\S+)/ },
10
10
  tokenizer: ->(match) { { operator: '<=', term: match[3] } }
11
11
  }
12
12
  }
13
13
 
14
14
  REPLACEMENT_RULES = {
15
15
  today: {
16
- pattern: /#{MagickColumns.today_operators}/,
16
+ pattern: -> { /#{MagickColumns.today_operators}/ },
17
17
  replacement: ->(match) { Date.today.to_s(:db) }
18
18
  }
19
19
  }
@@ -37,16 +37,22 @@ module MagickColumns
37
37
  terms = []
38
38
 
39
39
  MagickColumns.replacement_rules.each do |rule, options|
40
- while(match = term_copy.match(options[:pattern]))
41
- term_copy.sub!(options[:pattern], options[:replacement].call(match))
40
+ pattern = options[:pattern].respond_to?(:call) ?
41
+ options[:pattern].call : options[:pattern]
42
+
43
+ while(match = term_copy.match(pattern))
44
+ term_copy.sub!(pattern, options[:replacement].call(match))
42
45
  end
43
46
  end
44
47
 
45
48
  MagickColumns.tokenize_rules.each do |rule, options|
46
- while(match = term_copy.match(options[:pattern]))
49
+ pattern = options[:pattern].respond_to?(:call) ?
50
+ options[:pattern].call : options[:pattern]
51
+
52
+ while(match = term_copy.match(pattern))
47
53
  terms << options[:tokenizer].call(match)
48
54
 
49
- term_copy.sub!(options[:pattern], '')
55
+ term_copy.sub!(pattern, '')
50
56
  end
51
57
  end
52
58
 
@@ -1,3 +1,3 @@
1
1
  module MagickColumns
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -2759,3 +2759,259 @@
2759
2759
   (0.1ms) ROLLBACK
2760
2760
   (0.1ms) BEGIN
2761
2761
   (0.2ms) ROLLBACK
2762
+  (0.2ms) BEGIN
2763
+  (1.0ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2764
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2765
+  (0.2ms) ROLLBACK
2766
+  (0.1ms) BEGIN
2767
+  (0.1ms) ROLLBACK
2768
+  (0.1ms) BEGIN
2769
+  (0.7ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2770
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2771
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2772
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2773
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2774
+  (0.1ms) ROLLBACK
2775
+  (0.1ms) BEGIN
2776
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2777
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2778
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2779
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2780
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2781
+  (0.2ms) ROLLBACK
2782
+  (0.1ms) BEGIN
2783
+  (0.8ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2784
+ Article Load (0.5ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2785
+  (0.9ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2786
+  (0.2ms) ROLLBACK
2787
+  (0.1ms) BEGIN
2788
+  (0.2ms) ROLLBACK
2789
+  (0.4ms) BEGIN
2790
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2791
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2792
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2793
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2794
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2795
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2796
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2797
+ Person Load (1.3ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2798
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2799
+  (0.2ms) ROLLBACK
2800
+  (0.2ms) BEGIN
2801
+  (0.2ms) ROLLBACK
2802
+  (0.1ms) BEGIN
2803
+  (0.3ms) ROLLBACK
2804
+  (0.1ms) BEGIN
2805
+  (0.6ms) ROLLBACK
2806
+  (0.2ms) BEGIN
2807
+  (1.0ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2808
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2809
+  (0.2ms) ROLLBACK
2810
+  (0.2ms) BEGIN
2811
+  (0.1ms) ROLLBACK
2812
+  (0.1ms) BEGIN
2813
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2814
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2815
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2816
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2817
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2818
+  (0.1ms) ROLLBACK
2819
+  (0.2ms) BEGIN
2820
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2821
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2822
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2823
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2824
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2825
+  (0.2ms) ROLLBACK
2826
+  (0.1ms) BEGIN
2827
+  (0.9ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2828
+ Article Load (0.5ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2829
+  (0.5ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2830
+  (0.2ms) ROLLBACK
2831
+  (0.2ms) BEGIN
2832
+  (0.1ms) ROLLBACK
2833
+  (0.2ms) BEGIN
2834
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2835
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2836
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2837
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2838
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2839
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2840
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2841
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2842
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2843
+  (0.1ms) ROLLBACK
2844
+  (0.2ms) BEGIN
2845
+  (0.2ms) ROLLBACK
2846
+  (0.2ms) BEGIN
2847
+  (0.2ms) ROLLBACK
2848
+  (0.1ms) BEGIN
2849
+  (0.2ms) ROLLBACK
2850
+  (0.1ms) BEGIN
2851
+  (0.2ms) ROLLBACK
2852
+  (0.2ms) BEGIN
2853
+  (0.1ms) ROLLBACK
2854
+  (0.1ms) BEGIN
2855
+  (0.1ms) ROLLBACK
2856
+  (0.1ms) BEGIN
2857
+  (0.1ms) ROLLBACK
2858
+  (0.1ms) BEGIN
2859
+  (0.1ms) ROLLBACK
2860
+  (0.1ms) BEGIN
2861
+  (0.1ms) ROLLBACK
2862
+  (0.1ms) BEGIN
2863
+  (0.1ms) ROLLBACK
2864
+  (0.2ms) BEGIN
2865
+  (0.2ms) ROLLBACK
2866
+  (0.1ms) BEGIN
2867
+  (0.1ms) ROLLBACK
2868
+  (0.4ms) BEGIN
2869
+  (0.1ms) ROLLBACK
2870
+  (0.1ms) BEGIN
2871
+  (0.3ms) ROLLBACK
2872
+  (0.2ms) BEGIN
2873
+  (0.2ms) ROLLBACK
2874
+  (0.1ms) BEGIN
2875
+  (0.4ms) ROLLBACK
2876
+  (0.4ms) BEGIN
2877
+  (0.3ms) ROLLBACK
2878
+  (0.1ms) BEGIN
2879
+  (0.3ms) ROLLBACK
2880
+  (0.3ms) BEGIN
2881
+  (0.4ms) ROLLBACK
2882
+  (0.2ms) BEGIN
2883
+  (0.3ms) ROLLBACK
2884
+  (0.2ms) BEGIN
2885
+  (0.2ms) ROLLBACK
2886
+  (0.1ms) BEGIN
2887
+  (0.1ms) ROLLBACK
2888
+  (0.1ms) BEGIN
2889
+  (0.1ms) ROLLBACK
2890
+  (0.1ms) BEGIN
2891
+  (0.2ms) ROLLBACK
2892
+  (0.1ms) BEGIN
2893
+  (0.1ms) ROLLBACK
2894
+  (0.1ms) BEGIN
2895
+  (0.1ms) ROLLBACK
2896
+  (0.1ms) BEGIN
2897
+  (0.1ms) ROLLBACK
2898
+  (0.1ms) BEGIN
2899
+  (0.1ms) ROLLBACK
2900
+  (0.1ms) BEGIN
2901
+  (0.2ms) ROLLBACK
2902
+  (0.2ms) BEGIN
2903
+  (0.1ms) ROLLBACK
2904
+  (0.1ms) BEGIN
2905
+  (0.2ms) ROLLBACK
2906
+  (0.2ms) BEGIN
2907
+  (0.2ms) ROLLBACK
2908
+  (0.2ms) BEGIN
2909
+  (0.1ms) ROLLBACK
2910
+  (0.1ms) BEGIN
2911
+  (0.2ms) ROLLBACK
2912
+  (0.2ms) BEGIN
2913
+  (0.2ms) ROLLBACK
2914
+  (0.1ms) BEGIN
2915
+  (0.4ms) ROLLBACK
2916
+  (0.1ms) BEGIN
2917
+  (0.2ms) ROLLBACK
2918
+  (0.2ms) BEGIN
2919
+  (0.2ms) ROLLBACK
2920
+  (0.1ms) BEGIN
2921
+  (0.1ms) ROLLBACK
2922
+  (0.1ms) BEGIN
2923
+  (0.2ms) ROLLBACK
2924
+  (0.3ms) BEGIN
2925
+  (0.2ms) ROLLBACK
2926
+  (0.2ms) BEGIN
2927
+  (0.2ms) ROLLBACK
2928
+  (0.1ms) BEGIN
2929
+  (0.2ms) ROLLBACK
2930
+  (0.2ms) BEGIN
2931
+  (0.9ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2932
+ Person Load (0.6ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2933
+  (0.2ms) ROLLBACK
2934
+  (0.2ms) BEGIN
2935
+  (0.1ms) ROLLBACK
2936
+  (0.1ms) BEGIN
2937
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2938
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2939
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2940
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2941
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2942
+  (0.1ms) ROLLBACK
2943
+  (0.2ms) BEGIN
2944
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2945
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2946
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2947
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2948
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2949
+  (0.1ms) ROLLBACK
2950
+  (0.1ms) BEGIN
2951
+  (0.6ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2952
+ Article Load (0.4ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2953
+  (0.5ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2954
+  (0.2ms) ROLLBACK
2955
+  (0.2ms) BEGIN
2956
+  (0.2ms) ROLLBACK
2957
+  (0.1ms) BEGIN
2958
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
2959
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
2960
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
2961
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
2962
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
2963
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
2964
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2965
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
2966
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
2967
+  (1.3ms) ROLLBACK
2968
+  (0.2ms) BEGIN
2969
+  (0.1ms) ROLLBACK
2970
+  (0.1ms) BEGIN
2971
+  (0.2ms) ROLLBACK
2972
+  (0.1ms) BEGIN
2973
+  (0.2ms) ROLLBACK
2974
+  (0.1ms) BEGIN
2975
+  (0.9ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2976
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')) OR ((name ILIKE '%luke%')))
2977
+  (0.2ms) ROLLBACK
2978
+  (0.2ms) BEGIN
2979
+  (0.1ms) ROLLBACK
2980
+  (0.1ms) BEGIN
2981
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19')))
2982
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3012-03-19%' OR birth = '3012-03-19'))) LIMIT 1
2983
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19')))
2984
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%3032-03-19%' OR birth = '3032-03-19'))) LIMIT 1
2985
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%2012-03-19%' OR birth = '2012-03-19')))
2986
+  (0.1ms) ROLLBACK
2987
+  (0.2ms) BEGIN
2988
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%')))
2989
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi@%' OR email ILIKE '%obi@%'))) LIMIT 1
2990
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2991
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%@sw.com%' OR email ILIKE '%@sw.com%')))
2992
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody@sw.com%' OR email ILIKE '%nobody@sw.com%')))
2993
+  (0.1ms) ROLLBACK
2994
+  (0.1ms) BEGIN
2995
+  (0.7ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1')))
2996
+ Article Load (0.4ms) SELECT "articles".* FROM "articles" WHERE (((name ILIKE '%1%' OR code = '1'))) LIMIT 1
2997
+  (0.4ms) SELECT COUNT(*) FROM "articles" WHERE (((name ILIKE '%100%' OR code = '100')))
2998
+  (0.2ms) ROLLBACK
2999
+  (0.2ms) BEGIN
3000
+  (0.2ms) ROLLBACK
3001
+  (0.1ms) BEGIN
3002
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%obi%')))
3003
+ Person Load (0.5ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%obi%'))) LIMIT 1
3004
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%skywalker%')))
3005
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%skywalker%')))
3006
+  (0.5ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%')))
3007
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%') AND (name ILIKE '%skywalker%'))) LIMIT 1
3008
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
3009
+ Person Load (0.4ms) SELECT "people".* FROM "people" WHERE (((name ILIKE '%anakin%')) OR ((name ILIKE '%skywalker%')))
3010
+  (0.4ms) SELECT COUNT(*) FROM "people" WHERE (((name ILIKE '%nobody%')))
3011
+  (0.1ms) ROLLBACK
3012
+  (0.2ms) BEGIN
3013
+  (0.2ms) ROLLBACK
3014
+  (0.1ms) BEGIN
3015
+  (0.2ms) ROLLBACK
3016
+  (0.1ms) BEGIN
3017
+  (0.2ms) ROLLBACK
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magick_columns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -69,12 +69,13 @@ files:
69
69
  - lib/tasks/magick_columns_tasks.rake
70
70
  - lib/magick_columns/railtie.rb
71
71
  - lib/magick_columns/rules.rb
72
- - lib/magick_columns/locale/es.yml
73
- - lib/magick_columns/locale/en.yml
72
+ - lib/magick_columns/i18n.rb
74
73
  - lib/magick_columns/active_record.rb
75
74
  - lib/magick_columns/defaults.rb
76
75
  - lib/magick_columns/tokenizer.rb
77
76
  - lib/magick_columns/version.rb
77
+ - lib/magick_columns/locales/es.yml
78
+ - lib/magick_columns/locales/en.yml
78
79
  - lib/magick_columns.rb
79
80
  - MIT-LICENSE
80
81
  - Rakefile
@@ -135,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
136
  version: '0'
136
137
  segments:
137
138
  - 0
138
- hash: 165541859099290878
139
+ hash: -419900903376102177
139
140
  required_rubygems_version: !ruby/object:Gem::Requirement
140
141
  none: false
141
142
  requirements:
@@ -144,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  version: '0'
145
146
  segments:
146
147
  - 0
147
- hash: 165541859099290878
148
+ hash: -419900903376102177
148
149
  requirements: []
149
150
  rubyforge_project:
150
151
  rubygems_version: 1.8.19