indexable_attribute 0.0.5 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDhmZjdjMWNkNTk0ZjAxZTk0NjIzMmQwMWFiNjg2MWNhM2IxNzcyYQ==
4
+ NzY3NTAwMzZlOTE0YmZhZTg4YmRkMjE5Zjk2YzRmYTFjMjE1NDRiYQ==
5
5
  data.tar.gz: !binary |-
6
- ODQ5NzMyMTdkYzQ0MTA2MmZhNTlmN2FhMzNiOGFmNzBkZDQwOGI2ZA==
6
+ MDlhMTVkOWMxZjQ1Mzg2ZWQyODkxODZjNjRhOTQ1ZWI3MmUyNjdiZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDMzYWYxNjJhZjY0ZWJjY2U1NmNiN2NiMjYzNTk2MWRlNWVhNjAyNTg3MmYw
10
- MzdhMDAxNzEwMDk4MTlmNGFiOGMzZDk4NmFhZDM4OGIxYzEzNGZiZjNlNmFl
11
- MjFhZTI4YTYxNDU5ZjAzNjBlNTQzNjA0OGQwMGMwODI0NzcyYWI=
9
+ MDJmMjdhMGIwYTc4YWJjZDY5YTVjNDU0ZTIyMjAwMzA0OWYwYTAzMmJhMzZm
10
+ N2UwYWI3ZmIzM2M5MDY5MjllNGQyMTNlZjcxMDU2OGU4YTliNzJlODBlYWIz
11
+ MWZiYWE4ZGFmZjZhOTllNTZiMmEwZGE0ZTc1MGM4ZjcwYzZmYWU=
12
12
  data.tar.gz: !binary |-
13
- Y2YxYWNlNTM4M2IxOTc4OThjYjE3ZTA0YmE5ZjU2YjY2YTlhNDE3NmJiNjIy
14
- NmJmZTdhOGYwM2RjNGE0YTYwMGM4MTM3MWNmZGYwNjdkMTYwY2UxYmQ5NDhj
15
- NWI0Yjg0NTQ3ODY4YmY1NGU5MGNhNDBiNGJhY2IwMThhYmVlOWQ=
13
+ OTIxMzBhZmYzOWFiYzViMDJhYmJjZTc5NjM3NTQ3ZDJmMjE0MmE5ODUyOTE4
14
+ OTNlYTBiODk4MWI1YTA3NWY5ZGQ0ZTIxNmQ2NDliZGE2ZjFlNTI1OWEwNDAw
15
+ MzJlNDc4ZjA4Zjg3ZWI3MWIzMzkyNzBiOTY3NzA4YWM1NGM5YjM=
@@ -5,10 +5,28 @@ require "active_record"
5
5
  module IndexableAttribute
6
6
  extend ActiveSupport::Concern
7
7
  module ClassMethods
8
- def indexable_attribute(attr_name, attr_list, has_id=true)
9
- _CNST = attr_name.to_s.upcase
10
- _ATTR = attr_name.to_s.downcase
11
- _ATTR_ID = has_id ? _ATTR + '_id' : _ATTR
8
+ def indexable_attribute(attr_acc, attr_list, attr_name=nil)
9
+ attr_name = attr_acc unless attr_name
10
+ unless @create_overriden
11
+ def self.create(*lst)
12
+ objs = []
13
+ lst.each do |item|
14
+ obj = self.new
15
+ item.each do |k,v|
16
+ class_eval %Q{
17
+ obj.#{k} = v
18
+ }
19
+ end
20
+ obj.save
21
+ objs.push(obj)
22
+ end
23
+ objs.count > 1 ? objs : objs[0]
24
+ end
25
+ @create_overriden = true
26
+ end
27
+ _CNST = attr_acc.to_s.upcase
28
+ _ATTR = attr_acc.to_s.downcase
29
+ _ATTR_ID = attr_name.to_s.downcase
12
30
  class_eval %Q{
13
31
  #{_CNST} = #{attr_list.map { |i| i.to_sym }.to_s}
14
32
 
@@ -1,3 +1,3 @@
1
1
  module IndexableAttribute
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: indexable_attribute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yehia Abo El-Nga