caisson 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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