kablam 0.0.0 → 0.0.1

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,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