rumx 0.0.8 → 0.1.0

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/History.md +28 -0
  2. data/README.md +8 -6
  3. data/examples/bean_hash/README +2 -0
  4. data/examples/bean_hash/config.ru +9 -0
  5. data/examples/bean_hash/my_bean.rb +44 -0
  6. data/examples/bean_list/my_bean.rb +3 -3
  7. data/examples/embedded/my_bean.rb +3 -2
  8. data/examples/hash/README +2 -0
  9. data/examples/hash/config.ru +9 -0
  10. data/examples/hash/my_bean.rb +30 -0
  11. data/examples/list/my_bean.rb +5 -2
  12. data/examples/monitor_script/README +8 -0
  13. data/examples/monitor_script/rumx_attributes +67 -0
  14. data/examples/simple/config.ru +3 -1
  15. data/examples/simple/my_other_bean.rb +11 -0
  16. data/examples/timer/README +1 -1
  17. data/examples/timer/my_bean.rb +2 -1
  18. data/examples/timer_hash/README +2 -0
  19. data/examples/timer_hash/config.ru +9 -0
  20. data/examples/timer_hash/my_bean.rb +29 -0
  21. data/lib/rumx.rb +5 -0
  22. data/lib/rumx/attribute.rb +26 -17
  23. data/lib/rumx/attribute_info.rb +12 -0
  24. data/lib/rumx/bean.rb +146 -248
  25. data/lib/rumx/beans.rb +2 -0
  26. data/lib/rumx/beans/error.rb +1 -1
  27. data/lib/rumx/beans/hash.rb +34 -0
  28. data/lib/rumx/beans/timer.rb +2 -2
  29. data/lib/rumx/beans/timer_and_error.rb +1 -1
  30. data/lib/rumx/beans/timer_hash.rb +9 -0
  31. data/lib/rumx/hash_attribute.rb +39 -0
  32. data/lib/rumx/hash_bean.rb +55 -0
  33. data/lib/rumx/list_attribute.rb +65 -0
  34. data/lib/rumx/list_bean.rb +52 -0
  35. data/lib/rumx/server.rb +65 -69
  36. data/lib/rumx/server/views/attribute_value_tag.haml +3 -3
  37. data/lib/rumx/server/views/content_attributes.haml +4 -4
  38. data/lib/rumx/server/views/content_operations.haml +2 -2
  39. data/lib/rumx/server/views/tree_bean_attributes.haml +0 -4
  40. data/lib/rumx/server/views/tree_bean_operations.haml +2 -2
  41. data/lib/rumx/type.rb +15 -7
  42. metadata +21 -3
  43. data/lib/rumx/server/views/content_attribute.haml +0 -35
@@ -1,4 +1,4 @@
1
- - if attribute.allow_write
2
- %input{ :type => 'text', :name => param_name, :size => 30, :value => escape_html(value) }
1
+ - if attribute_info.attribute.allow_write
2
+ %input{ :type => 'text', :name => param_name(attribute_info.ancestry), :size => 30, :value => attribute_info.value }
3
3
  - else
4
- %span= escape_html(value)
4
+ %span= escape_html(attribute_info.value)
@@ -11,15 +11,15 @@
11
11
  %td Type
12
12
  %td Value
13
13
  %tbody
14
- - bean.send(get_set_method, params) do |attribute, value, rel_path, param_name|
14
+ - bean.send(get_set_method, params) do |attribute_info|
15
+ - attribute = attribute_info.attribute
15
16
  %tr
16
- - #puts "path=#{path} type=#{path.class.name} rel_path=#{rel_path} class=#{rel_path.class.name}"
17
- %td= link_to_attribute(path, rel_path)
17
+ %td= rel_path(attribute_info.ancestry)
18
18
  %td= attribute.description
19
19
  %td= attribute.allow_read
20
20
  %td= attribute.allow_write
21
21
  %td= attribute.type.to_s
22
- %td= attribute_value_tag(attribute, param_name, value)
22
+ %td= attribute_value_tag(attribute_info)
23
23
  %input{ :type => 'submit', :value => 'Update' }
24
24
 
25
25
  :javascript
@@ -17,9 +17,9 @@
17
17
  %td Type
18
18
  %td Default Value
19
19
  %tbody
20
- - bean.bean_each_operation do |operation, rel_path|
20
+ - bean.bean_each_operation do |operation|
21
21
  %tr
22
- %td= link_to_operation(path, rel_path)
22
+ %td= link_to_operation(path, operation)
23
23
  %td= operation.description
24
24
  %td= operation.type.to_s
25
25
  %td  
@@ -1,6 +1,2 @@
1
1
  %li.tree-bean-attributes
2
2
  = link_to_attributes(path)
3
- %ul
4
- - bean.bean_get_attributes do |attribute, value, rel_path, param_name|
5
- %li
6
- = link_to_attribute(path, rel_path)
@@ -1,6 +1,6 @@
1
1
  %li.tree-bean-operations
2
2
  = link_to_operations(path)
3
3
  %ul
4
- - bean.bean_each_operation do |operation, rel_path|
4
+ - bean.bean_each_operation do |operation|
5
5
  %li
6
- = link_to_operation(path, rel_path)
6
+ = link_to_operation(path, operation)
data/lib/rumx/type.rb CHANGED
@@ -8,12 +8,17 @@ module Rumx
8
8
  type
9
9
  end
10
10
 
11
- def initialize(name, string_to_value_proc, value_to_string_proc=lambda{|v| v.to_s})
12
- @name = name
11
+ def initialize(name, attribute_class, string_to_value_proc, value_to_string_proc=lambda{|v| v.to_s})
12
+ @name = name
13
+ @attribute_class = attribute_class
13
14
  @string_to_value_proc = string_to_value_proc
14
15
  @value_to_string_proc = value_to_string_proc
15
16
  end
16
17
 
18
+ def create_attribute(name, description, allow_read, allow_write, options)
19
+ @attribute_class.new(name, self, description, allow_read, allow_write, options)
20
+ end
21
+
17
22
  def string_to_value(string)
18
23
  @string_to_value_proc.call(string)
19
24
  end
@@ -23,11 +28,14 @@ module Rumx
23
28
  end
24
29
 
25
30
  @@allowed_types = {
26
- :integer => new(:integer, lambda {|s| s.to_i}),
27
- :float => new(:float, lambda {|s| s.to_f}),
28
- :string => new(:string, lambda {|s| s.to_s}),
29
- :boolean => new(:boolean, lambda {|s| s.to_s == 'true'}),
30
- :void => new(:void, lambda {|s| nil}, lambda {|v| ''})
31
+ :integer => new(:integer, Attribute, lambda {|s| s.to_i}),
32
+ :float => new(:float, Attribute, lambda {|s| s.to_f}),
33
+ :string => new(:string, Attribute, lambda {|s| s.to_s}),
34
+ :symbol => new(:symbol, Attribute, lambda {|s| s.to_sym}),
35
+ :boolean => new(:boolean, Attribute, lambda {|s| s.to_s == 'true'}),
36
+ :list => new(:list, ListAttribute, nil),
37
+ :hash => new(:hash, HashAttribute, nil),
38
+ :void => new(:void, nil, lambda {|s| nil}, lambda {|v| ''})
31
39
  }
32
40
 
33
41
  # We've created all the instances we need
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rumx
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.8
5
+ version: 0.1.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Brad Pardee
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-12-15 00:00:00 Z
13
+ date: 2011-12-21 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sinatra
@@ -55,6 +55,9 @@ extensions: []
55
55
  extra_rdoc_files: []
56
56
 
57
57
  files:
58
+ - examples/bean_hash/config.ru
59
+ - examples/bean_hash/my_bean.rb
60
+ - examples/bean_hash/README
58
61
  - examples/bean_list/config.ru
59
62
  - examples/bean_list/my_bean.rb
60
63
  - examples/bean_list/README
@@ -62,28 +65,44 @@ files:
62
65
  - examples/embedded/my_bean.rb
63
66
  - examples/embedded/my_embedded_bean.rb
64
67
  - examples/embedded/README
68
+ - examples/hash/config.ru
69
+ - examples/hash/my_bean.rb
70
+ - examples/hash/README
65
71
  - examples/list/config.ru
66
72
  - examples/list/my_bean.rb
67
73
  - examples/list/README
74
+ - examples/monitor_script/README
75
+ - examples/monitor_script/rumx_attributes
68
76
  - examples/simple/config.ru
69
77
  - examples/simple/my_bean.rb
78
+ - examples/simple/my_other_bean.rb
70
79
  - examples/simple/README
71
80
  - examples/timer/config.ru
72
81
  - examples/timer/my_bean.rb
73
82
  - examples/timer/README
83
+ - examples/timer_hash/config.ru
84
+ - examples/timer_hash/my_bean.rb
85
+ - examples/timer_hash/README
74
86
  - lib/rumx.rb
75
87
  - lib/rumx/argument.rb
76
88
  - lib/rumx/attribute.rb
89
+ - lib/rumx/attribute_info.rb
77
90
  - lib/rumx/bean.rb
78
91
  - lib/rumx/beans.rb
92
+ - lib/rumx/hash_attribute.rb
93
+ - lib/rumx/hash_bean.rb
94
+ - lib/rumx/list_attribute.rb
95
+ - lib/rumx/list_bean.rb
79
96
  - lib/rumx/operation.rb
80
97
  - lib/rumx/server.rb
81
98
  - lib/rumx/type.rb
82
99
  - lib/rumx/beans/error.rb
83
100
  - lib/rumx/beans/folder.rb
101
+ - lib/rumx/beans/hash.rb
84
102
  - lib/rumx/beans/message.rb
85
103
  - lib/rumx/beans/timer.rb
86
104
  - lib/rumx/beans/timer_and_error.rb
105
+ - lib/rumx/beans/timer_hash.rb
87
106
  - lib/rumx/server/public/attribute_test.html
88
107
  - lib/rumx/server/public/jquery-ui-1.8.16.custom.min.js
89
108
  - lib/rumx/server/public/jquery.jstree.js
@@ -111,7 +130,6 @@ files:
111
130
  - lib/rumx/server/public/themes/default-rtl/style.css
112
131
  - lib/rumx/server/public/themes/default-rtl/throbber.gif
113
132
  - lib/rumx/server/views/attribute_value_tag.haml
114
- - lib/rumx/server/views/content_attribute.haml
115
133
  - lib/rumx/server/views/content_attributes.haml
116
134
  - lib/rumx/server/views/content_attributes.haml.error_attempt
117
135
  - lib/rumx/server/views/content_operation.haml
@@ -1,35 +0,0 @@
1
- %h3= path[1..-1]
2
- %h4 Attribute
3
- %table{}
4
- %tr
5
- %td Name:
6
- %td= attribute.name
7
- %tr
8
- %td Description:
9
- %td= attribute.description
10
- %tr
11
- %td Allow Read:
12
- %td= attribute.allow_read
13
- %tr
14
- %td Allow Write:
15
- %td= attribute.allow_write
16
- %tr
17
- %td Type:
18
- %td= attribute.type.to_s
19
- %tr
20
- %td Value:
21
- %td
22
- - if attribute.allow_write
23
- %form#form{ :method =>'POST'}
24
- = attribute_value_tag(attribute, param_name, value)
25
- %input{ :type => 'submit', :value => attribute.allow_read ? 'Update' : 'Set' }
26
- - else
27
- = value
28
-
29
- :javascript
30
- $("#form").submit(function() {
31
- $.post("#{attribute_path(path)}", $("#form").serialize(), function(result) {
32
- $("#content").html(result);
33
- });
34
- return false;
35
- });