caisson 0.0.1 → 0.0.2

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.
Files changed (43) hide show
  1. data/README.md +13 -1
  2. data/app/assets/javascripts/caisson/base.coffee +4 -0
  3. data/app/assets/javascripts/caisson/form/fields/base.coffee +115 -0
  4. data/app/assets/javascripts/caisson/form/fields/checkbox.coffee +13 -0
  5. data/app/assets/javascripts/caisson/form/fields/select.coffee +14 -0
  6. data/app/assets/javascripts/caisson/form/fields/text_field.coffee +22 -0
  7. data/app/assets/javascripts/caisson/form/fields/validator.coffee +116 -0
  8. data/app/assets/javascripts/caisson/form/form.coffee +119 -0
  9. data/app/assets/javascripts/caisson/form/form_caisson.coffee +30 -0
  10. data/app/assets/javascripts/caisson/index.js +2 -0
  11. data/app/assets/javascripts/caisson/module.coffee +8 -0
  12. data/app/assets/javascripts/caisson/orbit-slider.coffee +2 -1
  13. data/app/assets/stylesheets/caisson/base.css.scss +7 -0
  14. data/app/assets/stylesheets/caisson/index.css +3 -0
  15. data/lib/caisson/helpers/form/base.rb +195 -0
  16. data/lib/caisson/helpers/form/builder/base.rb +72 -0
  17. data/lib/caisson/helpers/form/builder/field/base.rb +168 -0
  18. data/lib/caisson/helpers/form/builder/field/checkbox.rb +15 -0
  19. data/lib/caisson/helpers/form/builder/field/money.rb +13 -0
  20. data/lib/caisson/helpers/form/builder/field/password.rb +13 -0
  21. data/lib/caisson/helpers/form/builder/field/percent.rb +13 -0
  22. data/lib/caisson/helpers/form/builder/field/select.rb +41 -0
  23. data/lib/caisson/helpers/form/builder/field/text.rb +13 -0
  24. data/lib/caisson/helpers/form/builder/field/textarea.rb +13 -0
  25. data/lib/caisson/helpers/form/builder/field_builder/base.rb +81 -0
  26. data/lib/caisson/helpers/form/builder/field_builder/nature.rb +85 -0
  27. data/lib/caisson/helpers/form/builder/interpreti.rb +107 -0
  28. data/lib/caisson/helpers/form/button.rb +62 -0
  29. data/lib/caisson/helpers/form/field/base.rb +43 -0
  30. data/lib/caisson/helpers/form/field/checkbox.rb +39 -0
  31. data/lib/caisson/helpers/form/field/money.rb +29 -0
  32. data/lib/caisson/helpers/form/field/password.rb +14 -0
  33. data/lib/caisson/helpers/form/field/percent.rb +23 -0
  34. data/lib/caisson/helpers/form/field/select.rb +34 -0
  35. data/lib/caisson/helpers/form/field/text.rb +17 -0
  36. data/lib/caisson/helpers/form/field/textarea.rb +16 -0
  37. data/lib/caisson/helpers/form.rb +30 -0
  38. data/lib/caisson/helpers/grid.rb +32 -0
  39. data/lib/caisson/helpers/orbit_slider.rb +16 -21
  40. data/lib/caisson/helpers.rb +26 -0
  41. data/lib/caisson/implants/mongoid.rb +67 -0
  42. data/lib/caisson/implants/railtie.rb +4 -0
  43. metadata +41 -6
@@ -0,0 +1,67 @@
1
+ class Percent < Numeric
2
+ attr_reader :value
3
+
4
+ def initialize(object)
5
+ @value = object
6
+ end
7
+
8
+ def f_percent(options={})
9
+ options.reverse_merge! decimal_format: ',', symbol: true
10
+
11
+ val = sprintf("%0.03f", @value).gsub('.', options[:decimal_format])
12
+ val = case
13
+ when val[-3,3] == '000' then val[0..-5]
14
+ when val[-1,1] == '0' then val[0..-2]
15
+ else val
16
+ end
17
+
18
+ val += '%' if options[:symbol]
19
+
20
+ return val
21
+ end
22
+
23
+ def mongoize
24
+ @value.to_s.rjust(10, '0')
25
+ end
26
+
27
+ def percent
28
+ @value.to_f
29
+ end
30
+
31
+ class << self
32
+ def demongoize(object)
33
+ self.new(object.to_f / 1000)
34
+ end
35
+
36
+ def evolve(object)
37
+ object.mongoize
38
+ end
39
+
40
+ def mongoize(object)
41
+ case object
42
+ when Percent then object.mongoize
43
+ else Percent.new_from_string(object).mongoize
44
+ end
45
+ end
46
+
47
+ def new_from_mongo(object)
48
+ Numeric(object.to_f / 1000)
49
+ end
50
+
51
+ def new_from_string(object)
52
+ begin
53
+ val = (object.to_s.gsub(',', '.').gsub('%', '').to_f * 1000).to_i
54
+ rescue
55
+ val = 0
56
+ end
57
+
58
+ self.new val
59
+ end
60
+ end
61
+ end
62
+
63
+ class Numeric
64
+ def percent
65
+ Percent.new (self * 1000).to_i
66
+ end
67
+ end
@@ -4,6 +4,10 @@ module Caisson::Implants
4
4
  ActiveSupport.on_load :action_view do
5
5
  require 'caisson/helpers'
6
6
  end
7
+
8
+ if defined? Mongoid
9
+ require 'caisson/implants/mongoid'
10
+ end
7
11
  end
8
12
  end
9
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caisson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-20 00:00:00.000000000 Z
12
+ date: 2013-03-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- requirement: &2159519640 !ruby/object:Gem::Requirement
15
+ requirement: &2172916280 !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ! '>='
18
18
  - !ruby/object:Gem::Version
@@ -21,9 +21,9 @@ dependencies:
21
21
  prerelease: false
22
22
  type: :development
23
23
  name: rake
24
- version_requirements: *2159519640
24
+ version_requirements: *2172916280
25
25
  - !ruby/object:Gem::Dependency
26
- requirement: &2159540920 !ruby/object:Gem::Requirement
26
+ requirement: &2172915780 !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ! '>='
29
29
  - !ruby/object:Gem::Version
@@ -32,7 +32,7 @@ dependencies:
32
32
  prerelease: false
33
33
  type: :development
34
34
  name: rspec
35
- version_requirements: *2159540920
35
+ version_requirements: *2172915780
36
36
  description: Caisson will provide a set of tools to facilitate the integration of
37
37
  Zurb-Foundation to your Rails project.
38
38
  email:
@@ -44,11 +44,46 @@ extra_rdoc_files:
44
44
  - README.md
45
45
  files:
46
46
  - app/assets/javascripts/caisson/base.coffee
47
+ - app/assets/javascripts/caisson/form/fields/base.coffee
48
+ - app/assets/javascripts/caisson/form/fields/checkbox.coffee
49
+ - app/assets/javascripts/caisson/form/fields/select.coffee
50
+ - app/assets/javascripts/caisson/form/fields/text_field.coffee
51
+ - app/assets/javascripts/caisson/form/fields/validator.coffee
52
+ - app/assets/javascripts/caisson/form/form.coffee
53
+ - app/assets/javascripts/caisson/form/form_caisson.coffee
47
54
  - app/assets/javascripts/caisson/index.js
55
+ - app/assets/javascripts/caisson/module.coffee
48
56
  - app/assets/javascripts/caisson/orbit-slider.coffee
57
+ - app/assets/stylesheets/caisson/base.css.scss
58
+ - app/assets/stylesheets/caisson/index.css
49
59
  - lib/caisson/engine.rb
60
+ - lib/caisson/helpers/form/base.rb
61
+ - lib/caisson/helpers/form/builder/base.rb
62
+ - lib/caisson/helpers/form/builder/field/base.rb
63
+ - lib/caisson/helpers/form/builder/field/checkbox.rb
64
+ - lib/caisson/helpers/form/builder/field/money.rb
65
+ - lib/caisson/helpers/form/builder/field/password.rb
66
+ - lib/caisson/helpers/form/builder/field/percent.rb
67
+ - lib/caisson/helpers/form/builder/field/select.rb
68
+ - lib/caisson/helpers/form/builder/field/text.rb
69
+ - lib/caisson/helpers/form/builder/field/textarea.rb
70
+ - lib/caisson/helpers/form/builder/field_builder/base.rb
71
+ - lib/caisson/helpers/form/builder/field_builder/nature.rb
72
+ - lib/caisson/helpers/form/builder/interpreti.rb
73
+ - lib/caisson/helpers/form/button.rb
74
+ - lib/caisson/helpers/form/field/base.rb
75
+ - lib/caisson/helpers/form/field/checkbox.rb
76
+ - lib/caisson/helpers/form/field/money.rb
77
+ - lib/caisson/helpers/form/field/password.rb
78
+ - lib/caisson/helpers/form/field/percent.rb
79
+ - lib/caisson/helpers/form/field/select.rb
80
+ - lib/caisson/helpers/form/field/text.rb
81
+ - lib/caisson/helpers/form/field/textarea.rb
82
+ - lib/caisson/helpers/form.rb
83
+ - lib/caisson/helpers/grid.rb
50
84
  - lib/caisson/helpers/orbit_slider.rb
51
85
  - lib/caisson/helpers.rb
86
+ - lib/caisson/implants/mongoid.rb
52
87
  - lib/caisson/implants/railtie.rb
53
88
  - lib/caisson/implants.rb
54
89
  - lib/caisson.rb