seria 1.0.2 → 1.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDZiZWQwY2Q5ODg5ZWZiMWQ5ZjdmZTE1YTZjYTc5NjY3YjM5MTk3Mg==
4
+ ZWIwOTE2MjA4M2VhN2JlNDhlZWU5YTkzNTQzYWQyMDNiZWFjMTFhMA==
5
5
  data.tar.gz: !binary |-
6
- ODRmMGRjOGVjYTI2ZGY5ZGZlOGE1MjFiMjViOTA4YTJhYzQ1NGM3OQ==
6
+ YzkyYjRjZWVhNWY5NzIwNGU3NTY3MTc4ZTFkNmYzNjlhMzA1ZWE4Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWU4NzljNzg3NGJlMmMzYzQ1ZTc2ODdhOTEyZWIwMDY3NDgxY2VmM2U1MTY2
10
- Njc1ZWY2NjAwY2Y2NzZiNzg4YTE1OTFhNzhlNTM4NTBiY2ZkN2NkZDA4Nzcy
11
- ZjMzOGU1NGY1YWE2NGM1NzY0NDlhZGU3ZWFlMDEzNWI4ZTQ3NzQ=
9
+ YWFmYmZjMzMzN2UyYTBlM2U5YmVmZmVmZTJmMjEzMjFkMmJjMzNmNTY0OWZi
10
+ MTE5ZjM2ZGYxZGQyNzc5MGY1MjE0NTIxOGNiZjc0MGJmMmM4OWQ3OWFhNjk5
11
+ OWFlZjNlMDBmOTFjZTA5YTZkZTJhNzVlNGM0NDUyNzg1ZDhmZjk=
12
12
  data.tar.gz: !binary |-
13
- NGY5MmU5MTBhM2Q1MjY5MGM1MGI5MDYzZTM3NzUyY2E2NWYyNDI5ZmE0ZTVj
14
- NjY2MmRhMWY4N2RlMGRhNTAxYTFmMWM5NDI0NmI5ZDAxNGU5MjBhNzg4Mjgz
15
- NDk0MGIxMTIyZGQxY2IyMDdlMGFlMTMzOGIzNzY4YWM5YzQ5MGI=
13
+ YjhkMTBiYWYzNjhkMjY4MzhiNGU4Y2U2YWVkZmRiMjRlZGVkYWRiODRjNDRj
14
+ Y2U5MDA3MWI2ODk0YjFiMGRkMjg1YTI3MjFmM2Y5OTQxZWQ5OWNkNjBlZjY2
15
+ MTcxZGUxYzU2ZmU2YjYyMjY3MTYyYzViMTZhM2QxN2QyMjZiNTY=
data/lib/seria.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  require "seria/version"
2
2
  require "seria/info_table"
3
3
  require 'ostruct'
4
+
4
5
  module Seria
5
6
  @config = OpenStruct.new
6
7
  @config.descriptor = :info
7
8
  @config.converters = {}
9
+ @config.perform_lookup_on_method_missing = false
8
10
  @config.fields = OpenStruct.new(
9
11
  {
10
12
  key: :field_name,
@@ -57,7 +57,7 @@ module Seria
57
57
  end
58
58
 
59
59
  def self.define_info_table(class_name)
60
- if !eval("defined?(#{class_name}) && #{class_name}.is_a?(Class)")
60
+ unless defined?(class_name) && class_name.is_a?(Class)
61
61
  Object.const_set class_name, Class.new(ActiveRecord::Base)
62
62
  end
63
63
  klass = class_name.constantize
@@ -97,13 +97,18 @@ module Seria
97
97
  info.field_value if info
98
98
  end
99
99
  def lookup key
100
- to_a.select{|i| i.field_name == key}.first
100
+ to_a.select{|i| i.field_name == key.to_s}.first
101
101
  end
102
102
  end
103
103
  alias_method :my_infos, class_name.tableize.to_sym
104
104
  alias_method Seria.table_suffix.to_sym, class_name.tableize.to_sym
105
105
  end
106
106
 
107
+ def method_missing(sym, *args, &block)
108
+ info = Seria.config.perform_lookup_on_method_missing && my_infos.lookup(sym)
109
+ info ? info.field_value : super
110
+ end
111
+
107
112
  module ClassMethods
108
113
 
109
114
  def class_name
data/lib/seria/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Seria
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seria
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-28 00:00:00.000000000 Z
11
+ date: 2014-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails