kablam 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kablam/kablam_record.rb +60 -0
- data/lib/kablam.rb +2 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09febbe9182ed6f08661aa5fae4a8b5d5612cf5db8a3b677c6a7db469fd5e803'
|
4
|
+
data.tar.gz: 4e6b09be395b97a7c317780043d272363e5b51fc0a03a40b901ef948049a6557
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ac03d1ebc891c1909c5bbd515b47ea5388ca89bca54528d227428156a6d4842cbb7dedf6c35d16034ace744555294df87ef12497200d24feed3f5834eca99f5
|
7
|
+
data.tar.gz: ab1b5ef57a4a81b286d6177ac67b6ff75ef9cf545289a1e1bce776c7b25e66f8d94d467fbe759ffe3e46f88f22913182167de9ec118fe1f82415d03c1a5a60ab
|
@@ -0,0 +1,60 @@
|
|
1
|
+
class Kablam::KablamRecord < ActiveRecord::Base
|
2
|
+
self.abstract_class = true
|
3
|
+
|
4
|
+
def undoable?
|
5
|
+
attributes.include?("destroyed_at")
|
6
|
+
end
|
7
|
+
|
8
|
+
def standard_hash
|
9
|
+
serializable_hash.except("created_at",
|
10
|
+
"updated_at").reject{|k,v|v.blank?}
|
11
|
+
end
|
12
|
+
|
13
|
+
def identifier
|
14
|
+
send(self.class.fields.first)
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.fields
|
18
|
+
result = self.attribute_names - ["id", "created_at", "updated_at"]
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.field_set
|
22
|
+
field_types = {
|
23
|
+
input: [],
|
24
|
+
text: [],
|
25
|
+
hidden: [],
|
26
|
+
select: [],
|
27
|
+
checkbox_array: [],
|
28
|
+
checkbox_boolean: [],
|
29
|
+
multi_inputs: [],
|
30
|
+
file_upload: [],
|
31
|
+
exclude: ["id", "created_at", "updated_at", "destroyed_at"]
|
32
|
+
}
|
33
|
+
user_fields = set_fields
|
34
|
+
user_fields[:exclude] += field_types[:exclude] if user_fields[:exclude].present?
|
35
|
+
|
36
|
+
field_types.merge user_fields.select { |k| field_types.keys.include? k }
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.prep_form_field
|
40
|
+
# This method will prepare hash of hashes
|
41
|
+
# for each data-field w/ the form input type.
|
42
|
+
# ex: date, radio, select, etc.
|
43
|
+
obj = self.new
|
44
|
+
hashy = {}
|
45
|
+
fields_array = self.fields
|
46
|
+
fields_array.each do |k|
|
47
|
+
hashy[k] = obj.column_for_attribute(k).type
|
48
|
+
hashy[k] = :input if [:string, :float, :integer].include? hashy[k]
|
49
|
+
hashy[k] = :checkbox_boolean if [:boolean].include? hashy[k]
|
50
|
+
self.field_set.keys.each{|type| hashy[k] = type if self.field_set[type].include?(k)}
|
51
|
+
end
|
52
|
+
hashy
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.choices(field, locale)
|
56
|
+
c_set = self.form_choices[field]
|
57
|
+
return false if c_set.blank?
|
58
|
+
c_set.map{|choice| {value: choice[:value], label: (choice[:label][locale.to_s] || "CHOICE TRANSLATION NOT FOUND! PLEASE CONTACT STAFF!")}}
|
59
|
+
end
|
60
|
+
end
|
data/lib/kablam.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kablam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Rivas
|
@@ -9,7 +9,21 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2018-09-14 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: Gem to make development of everything in rails even faster.
|
14
28
|
email: sergiorivas@163.com
|
15
29
|
executables: []
|
@@ -17,6 +31,7 @@ extensions: []
|
|
17
31
|
extra_rdoc_files: []
|
18
32
|
files:
|
19
33
|
- lib/kablam.rb
|
34
|
+
- lib/kablam/kablam_record.rb
|
20
35
|
homepage: http://rubygems.org/gems/kablam
|
21
36
|
licenses:
|
22
37
|
- MIT
|