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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2421e7b56dbfbac279d652f9320e5640bc44f3a81efb8ea002ce9b51b903973
4
- data.tar.gz: 5536946054ded72760ecef462f8bebf5ecc145d14ec7350c08156a4ac13ba699
3
+ metadata.gz: '09febbe9182ed6f08661aa5fae4a8b5d5612cf5db8a3b677c6a7db469fd5e803'
4
+ data.tar.gz: 4e6b09be395b97a7c317780043d272363e5b51fc0a03a40b901ef948049a6557
5
5
  SHA512:
6
- metadata.gz: 0c156c8af1a4b138a35327d6a9032ca2213b42ca3318bb9b9d32a4e43bcc260fa3dddca318ac35bc01f5599c6d4bb0c579b729f3c4b9cf08747516959d68b625
7
- data.tar.gz: 28a756fe6905f72d8e8b93293828a337ad6a988b8555f138fea48b9a35365b49bbb56d953efa254df8e432b4020d380005bd5428ce5d0783afce2690db595cd1
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
@@ -3,3 +3,5 @@ class Kablam
3
3
  puts "Hello world!"
4
4
  end
5
5
  end
6
+
7
+ require 'kablam/kablam_record'
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.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