rails-ext 0.3.27 → 0.3.28

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 (65) hide show
  1. data/.git/COMMIT_EDITMSG +1 -1
  2. data/.git/index +0 -0
  3. data/.git/logs/HEAD +6 -0
  4. data/.git/logs/refs/heads/master +6 -0
  5. data/.git/logs/refs/remotes/origin/master +6 -0
  6. data/.git/objects/0f/0c8c6adaa43424f5037ca877211f6298d2400e +3 -0
  7. data/.git/objects/19/e876f62b90c9229b329227b24c1a8341282618 +0 -0
  8. data/.git/objects/1c/b54426926c16534375c353f9e7e04d6301a1b1 +0 -0
  9. data/.git/objects/1d/a311ae0ff991064b0544a989f18263985f368f +0 -0
  10. data/.git/objects/26/bc58288bd96634bd5a8be0ff2b6f890f35cf97 +0 -0
  11. data/.git/objects/2b/92d865e68b56fc2689b74a36eddd56dae29a88 +0 -0
  12. data/.git/objects/2e/7a5197f328963dfbbaa60ef2fd39a2360ec631 +0 -0
  13. data/.git/objects/2e/f1776e24d5e5e16f197095d890be91a2285c77 +0 -0
  14. data/.git/objects/30/81da56a76478c99b075f8e173527a482f1dd08 +0 -0
  15. data/.git/objects/37/81a6d614f28843c373dc678762e5c6d9676316 +2 -0
  16. data/.git/objects/48/08a771a51ac9867398791e978cd20d4b13e4ce +0 -0
  17. data/.git/objects/54/a81991fe89c15984d406d16c04faf45fd7251a +0 -0
  18. data/.git/objects/54/b5f348d5e841928a9d90b5c4c3de5bbaaa015d +3 -0
  19. data/.git/objects/6a/613e120fe466ecbde8c0322da0f84af5eb41dc +3 -0
  20. data/.git/objects/6f/e30114856fcb1fa466c1a18fecfe2dc2ce4169 +0 -0
  21. data/.git/objects/7f/72d4e7d7b03be87d9441370970ab4c8d344640 +0 -0
  22. data/.git/objects/81/7f6d877cb630b3e1f649769fadf69c2114a456 +0 -0
  23. data/.git/objects/85/b75423eae1ce81ed64ddf8d6abeaaea855ba8a +0 -0
  24. data/.git/objects/85/c7a500980188445fa88eb33b4ea3274042f563 +0 -0
  25. data/.git/objects/87/c521c60f20f4e35639a78e5c2beb31848a761c +0 -0
  26. data/.git/objects/93/31ab9c89c69dda86fced860f572236a48947d4 +0 -0
  27. data/.git/objects/99/d31cde9fe69079a60379da41d7b25ac4e92bf8 +0 -0
  28. data/.git/objects/9b/a013a45d3dbe5c03ffd15d8866be4198029b90 +0 -0
  29. data/.git/objects/9b/a3774d4672b4f15a74f0c3c2b3d8269f5ca8f8 +0 -0
  30. data/.git/objects/9c/445d11eaf28e0d97ab55d0c2584f7ab31bef1d +0 -0
  31. data/.git/objects/ac/d01650fc4540a21e360d94f299682bd2f348f2 +0 -0
  32. data/.git/objects/b1/fe0302a0c114aa0686c68b8f92f46813a9f0b7 +0 -0
  33. data/.git/objects/b6/74b8fbbe1c22c793f97eb9d8cedad090145a3c +0 -0
  34. data/.git/objects/b7/f8065f8058acf6afe0ab6377a031af3b0f868f +0 -0
  35. data/.git/objects/be/ccc2dfb4ebb94c6920aa5543dff4e2b4add690 +3 -0
  36. data/.git/objects/c6/4b93c451584a04f99fd52b62b763b8e4e20585 +0 -0
  37. data/.git/objects/dd/7be4b09356883dc3ee66dda94ca95822b2be10 +0 -0
  38. data/.git/objects/ee/937c25fa0b87440bbd7b802f7b68750ae6b962 +0 -0
  39. data/.git/objects/ee/f8ef7501c7e368ee7a305a5a41c64ee9c7c41c +0 -0
  40. data/.git/objects/ef/88073aabdae498a225427228ccd088f09ace07 +0 -0
  41. data/.git/objects/f2/4f1c44768d2bf5f2748730377745243ac5d1b5 +0 -0
  42. data/.git/objects/f3/a2737cc886fa3e1a8c993ab0b3e33073e4f665 +0 -0
  43. data/.git/objects/f4/b2f322842db705def556599c1648269c7502d6 +0 -0
  44. data/.git/objects/f6/e78f8597cecad3ff464f8c4ad7210178bd86af +0 -0
  45. data/.git/objects/fc/952bdf54d2d727b3b3c2971f00347265b5b070 +0 -0
  46. data/.git/refs/heads/master +1 -1
  47. data/.git/refs/remotes/origin/master +1 -1
  48. data/README.markdown +12 -2
  49. data/Rakefile +1 -1
  50. data/lib/{interface_builder → abstract_interface}/controller_helper.rb +3 -3
  51. data/lib/{interface_builder → abstract_interface}/form_builders/abstract_form_builder.rb +1 -1
  52. data/lib/{interface_builder → abstract_interface}/form_builders/themed_form_builder.rb +1 -1
  53. data/lib/{interface_builder → abstract_interface}/form_builders/themed_form_tag_builder.rb +1 -1
  54. data/lib/{interface_builder → abstract_interface}/haml_builder.rb +1 -1
  55. data/lib/{interface_builder → abstract_interface}/model_stub.rb +0 -0
  56. data/lib/{interface_builder → abstract_interface}/support.rb +0 -0
  57. data/lib/abstract_interface/theme.rb +31 -0
  58. data/lib/{interface_builder → abstract_interface}/view_builder.rb +2 -2
  59. data/lib/abstract_interface/view_helper.rb +41 -0
  60. data/lib/abstract_interface.rb +78 -0
  61. data/spec/rails_ext/haml_builder_spec.rb +2 -2
  62. metadata +55 -15
  63. data/lib/interface_builder/theme.rb +0 -12
  64. data/lib/interface_builder/view_helper.rb +0 -19
  65. data/lib/interface_builder.rb +0 -50
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- upd theme
1
+ refactor abstract interface
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -86,3 +86,9 @@ fcf17b13f109f3a2d9e9e9bd20d61d38b535a612 ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed8
86
86
  ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed84 07a10d899d45eed94d2f303586053fa61beafba1 alex <alex@amac.local> 1274343288 +0400 commit: tmp theme
87
87
  07a10d899d45eed94d2f303586053fa61beafba1 712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 alex <alex@amac.local> 1274515487 +0400 commit: spec fixes
88
88
  712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 c51b776d4635d2566cb593bd296e65254a23032f alex <alex@amac.local> 1274527321 +0400 commit: upd theme
89
+ c51b776d4635d2566cb593bd296e65254a23032f 3081da56a76478c99b075f8e173527a482f1dd08 alex <alex@amac.local> 1274602902 +0400 commit: refactoring abstract interface
90
+ 3081da56a76478c99b075f8e173527a482f1dd08 c64b93c451584a04f99fd52b62b763b8e4e20585 alex <alex@amac.local> 1274604411 +0400 commit: upd
91
+ c64b93c451584a04f99fd52b62b763b8e4e20585 f6e78f8597cecad3ff464f8c4ad7210178bd86af alex <alex@amac.local> 1274604454 +0400 commit: upd
92
+ f6e78f8597cecad3ff464f8c4ad7210178bd86af 3781a6d614f28843c373dc678762e5c6d9676316 alex <alex@amac.local> 1274604514 +0400 commit: upd
93
+ 3781a6d614f28843c373dc678762e5c6d9676316 beccc2dfb4ebb94c6920aa5543dff4e2b4add690 alex <alex@amac.local> 1274610364 +0400 commit: upd abstract interface
94
+ beccc2dfb4ebb94c6920aa5543dff4e2b4add690 0f0c8c6adaa43424f5037ca877211f6298d2400e alex <alex@amac.local> 1274611070 +0400 commit: refactor abstract interface
@@ -86,3 +86,9 @@ fcf17b13f109f3a2d9e9e9bd20d61d38b535a612 ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed8
86
86
  ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed84 07a10d899d45eed94d2f303586053fa61beafba1 alex <alex@amac.local> 1274343288 +0400 commit: tmp theme
87
87
  07a10d899d45eed94d2f303586053fa61beafba1 712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 alex <alex@amac.local> 1274515487 +0400 commit: spec fixes
88
88
  712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 c51b776d4635d2566cb593bd296e65254a23032f alex <alex@amac.local> 1274527321 +0400 commit: upd theme
89
+ c51b776d4635d2566cb593bd296e65254a23032f 3081da56a76478c99b075f8e173527a482f1dd08 alex <alex@amac.local> 1274602902 +0400 commit: refactoring abstract interface
90
+ 3081da56a76478c99b075f8e173527a482f1dd08 c64b93c451584a04f99fd52b62b763b8e4e20585 alex <alex@amac.local> 1274604411 +0400 commit: upd
91
+ c64b93c451584a04f99fd52b62b763b8e4e20585 f6e78f8597cecad3ff464f8c4ad7210178bd86af alex <alex@amac.local> 1274604454 +0400 commit: upd
92
+ f6e78f8597cecad3ff464f8c4ad7210178bd86af 3781a6d614f28843c373dc678762e5c6d9676316 alex <alex@amac.local> 1274604514 +0400 commit: upd
93
+ 3781a6d614f28843c373dc678762e5c6d9676316 beccc2dfb4ebb94c6920aa5543dff4e2b4add690 alex <alex@amac.local> 1274610364 +0400 commit: upd abstract interface
94
+ beccc2dfb4ebb94c6920aa5543dff4e2b4add690 0f0c8c6adaa43424f5037ca877211f6298d2400e alex <alex@amac.local> 1274611070 +0400 commit: refactor abstract interface
@@ -71,3 +71,9 @@ fcf17b13f109f3a2d9e9e9bd20d61d38b535a612 ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed8
71
71
  ceefc114c8fd5ad31b82e1cf19c5c143e6e4ed84 07a10d899d45eed94d2f303586053fa61beafba1 alex <alex@amac.local> 1274343294 +0400 update by push
72
72
  07a10d899d45eed94d2f303586053fa61beafba1 712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 alex <alex@amac.local> 1274515494 +0400 update by push
73
73
  712aa2c2ef44c499b0251dbe46eee1c90afbdeb6 c51b776d4635d2566cb593bd296e65254a23032f alex <alex@amac.local> 1274527328 +0400 update by push
74
+ c51b776d4635d2566cb593bd296e65254a23032f 3081da56a76478c99b075f8e173527a482f1dd08 alex <alex@amac.local> 1274602907 +0400 update by push
75
+ 3081da56a76478c99b075f8e173527a482f1dd08 c64b93c451584a04f99fd52b62b763b8e4e20585 alex <alex@amac.local> 1274604415 +0400 update by push
76
+ c64b93c451584a04f99fd52b62b763b8e4e20585 f6e78f8597cecad3ff464f8c4ad7210178bd86af alex <alex@amac.local> 1274604458 +0400 update by push
77
+ f6e78f8597cecad3ff464f8c4ad7210178bd86af 3781a6d614f28843c373dc678762e5c6d9676316 alex <alex@amac.local> 1274604519 +0400 update by push
78
+ 3781a6d614f28843c373dc678762e5c6d9676316 beccc2dfb4ebb94c6920aa5543dff4e2b4add690 alex <alex@amac.local> 1274610370 +0400 update by push
79
+ beccc2dfb4ebb94c6920aa5543dff4e2b4add690 0f0c8c6adaa43424f5037ca877211f6298d2400e alex <alex@amac.local> 1274611075 +0400 update by push
@@ -0,0 +1,3 @@
1
+ x��K
2
+ 1D]�� ��|D�J�����H����x7EQ��u��F�So":E�h8@E�N�v���3f��$�(��IM���03����<9��Ζ:x̎J (z���4-���C�_��i�i��c �>�P����B5����ȯކ��6
3
+ F(� N&FN
@@ -0,0 +1,2 @@
1
+ x���
2
+ �0 �a�}��i��IA�W���͍с�/�^�������1�r�Yt���T�� X�ZA�4�$C/e ����ы;���T�cAgEi4䔉��E<���e�w�~{�E�2�*�-恰$3�s”�����/±���<�
@@ -0,0 +1,3 @@
1
+ xmR�n�0��_1@� %r(R�\�5�&�F@Q+�(��%b�}WVF�;�3�[z.q{���g<��x0�'�A($�!]M&_�,�Dc� kci�-�G�����3�p�����(�@"�n�]��o��Ξ^��{\�rP��]:���tWI
2
+ %�ru��A�P��$���!���u��ژLr��*�tlxv��(���ݐ2B�uk
3
+ x3ķ�Ђ�{'�4Yqɧv����oXz:��$��*�t׊����t)d�t��ӏo�Y�;�UUȡ䵄�z �.6iǏ+�� U�r9���IC�*a���N�g�'
@@ -0,0 +1,3 @@
1
+ x�S]k�0ݳ��>�ሌ� A� DŽ͍��`������������Kb�+
2
+ +4�~��s�i#^Fpw{sQ�ɚ#L"�%��Lh�)���K�в���JSXN_ޞ'�)�~,����u��|��.8�X��k�(���@ ��3,0�+&u�8�m��|躠��@��>T��`��<�U�� ����p^y�a2�y)�4(��gQ}�1����쯀v+ϤnH�H�t�(B��W;��<���6�V'z'��I.�A���R���e���f���5�VftԎ�!dٺ���M�3+4+�% � ���w�sE�F^�
3
+ �ⱛ�S�[\���{��
4
  ��o���uۇo(�5�GE�"�1�A�Z�zN��$�v��?a8\�o��8�~�=�� �
@@ -0,0 +1,3 @@
1
+ x��I
2
+ �@Fa�}�� ���K�*�+� ���n��<���χ���������x��j�2z �s�{`��Q,���}�H�K��E
3
+ ���̅�g���׍0ً.��0COӪ���CI�ȉ�]�:���f� �?*��
@@ -1 +1 @@
1
- c51b776d4635d2566cb593bd296e65254a23032f
1
+ 0f0c8c6adaa43424f5037ca877211f6298d2400e
@@ -1 +1 @@
1
- c51b776d4635d2566cb593bd296e65254a23032f
1
+ 0f0c8c6adaa43424f5037ca877211f6298d2400e
data/README.markdown CHANGED
@@ -1,3 +1,13 @@
1
- # Set of small and handy Rails extensions.
1
+ # Ruby on Rails extensions.
2
2
 
3
- Copyright (c) 2009 Alexey Petrushin ([http://www.bos-tec.com](http://www.bos-tec.com)), released under the MIT license
3
+ * Abstract Interface: Tool for rapid web interface creation, see [Common Interface][common_interface] - concrete realisation of Abstract Interface
4
+ * MongoMapperExt: MongoMapper extensions, Migration, Query Profiling in Log, Attributes Cache, Default Scope, BelongsTo Counter Cache
5
+ * Sunspot: Sunspot support for MongoMapper
6
+ * rails_ext - a lots of Rails hacks, mainly to add inheritance support (because there's no OOD and inheritance in Rails by default).
7
+
8
+ All these extensions should be different gems itself but right for me it's easier to deal with all of them in one place, later I'll split them.
9
+
10
+
11
+ Copyright (c) 2009 Alexey Petrushin ([http://bos-tec.com](http://bos-tec.com)), released under the MIT license.
12
+
13
+ [common_interface]: http://github.com/alexeypetrushin/common_interface
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
18
18
 
19
19
  spec = Gem::Specification.new do |s|
20
20
  s.name = "rails-ext"
21
- s.version = "0.3.27"
21
+ s.version = "0.3.28"
22
22
  s.summary = "Set of common Ruby on Rails extensions"
23
23
  s.description = "Set of common Ruby on Rails extensions"
24
24
  s.author = "Alexey Petrushin"
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  module ControllerHelper
3
3
  TEMPLATE_EXTENSIONS = ['html.haml', 'html.erb']
4
4
 
@@ -11,7 +11,7 @@ module InterfaceBuilder
11
11
  "_#{partial}"
12
12
  end
13
13
 
14
- TEMPLATE_EXTENSIONS.any?{|ext| File.exist? "#{InterfaceBuilder.themes_dir}/#{current_theme.name}/#{partial_fname}.#{ext}"}
14
+ TEMPLATE_EXTENSIONS.any?{|ext| File.exist? "#{AbstractInterface.themes_dir}/#{current_theme.name}/#{partial_fname}.#{ext}"}
15
15
  end
16
16
  cache_with_params! :themed_partial_exist? unless Rails.development?
17
17
 
@@ -24,7 +24,7 @@ module InterfaceBuilder
24
24
  end
25
25
 
26
26
  def current_theme
27
- @current_theme ||= InterfaceBuilder::Theme.new
27
+ @current_theme ||= AbstractInterface::Theme.new
28
28
  end
29
29
  end
30
30
  end
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  module FormBuilders
3
3
  module AbstractFormBuilder
4
4
 
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  module FormBuilders
3
3
  class ThemedFormBuilder < ActionView::Helpers::FormBuilder
4
4
  include AbstractFormBuilder
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  module FormBuilders
3
3
  class ThemedFormTagBuilder
4
4
  include AbstractFormBuilder
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  class HamlBuilder < BlankSlate
3
3
  def initialize template, hash = OpenObject.new
4
4
  @template = template
@@ -0,0 +1,31 @@
1
+ module AbstractInterface
2
+ class Theme
3
+ attr_writer :name, :layout_template, :layout
4
+ def name; @name || 'default' end
5
+ def layout; @layout || 'default' end
6
+
7
+ def layout_template;
8
+ @layout_template || layout_definition['layout_template'] || 'default'
9
+ end
10
+
11
+ def layout_definition
12
+ layout_definitions[layout] || layout_definitions['default'] || {}
13
+ end
14
+
15
+ def layout_definitions
16
+ if AbstractInterface.layouts_defined?
17
+ AbstractInterface.layout_definitions(name)
18
+ else
19
+ {}
20
+ end
21
+ end
22
+
23
+ def available_layouts_names
24
+ layout_definitions.keys
25
+ end
26
+
27
+ def metadata
28
+ AbstractInterface.theme_metadata(name)
29
+ end
30
+ end
31
+ end
@@ -1,4 +1,4 @@
1
- module InterfaceBuilder
1
+ module AbstractInterface
2
2
  class ViewBuilder
3
3
 
4
4
  def self.generate_helper_methods methods
@@ -114,7 +114,7 @@ end}
114
114
  unless themed_partial_exist? partial
115
115
 
116
116
  # we don't need _theme_wrapper for dialog and popup, it should be invisible
117
- classes = if InterfaceBuilder.dont_wrap_into_placeholder.include? partial
117
+ classes = if AbstractInterface.dont_wrap_into_placeholder.include? partial
118
118
  "_d"
119
119
  else
120
120
  "_d _theme_wrapper"
@@ -0,0 +1,41 @@
1
+ module AbstractInterface
2
+ module ViewHelper
3
+ #
4
+ # Basic
5
+ #
6
+ def b
7
+ @b ||= AbstractInterface::ViewBuilder.new self
8
+ end
9
+ alias_method :builder, :b
10
+
11
+ def themed_resource resource
12
+ "/#{AbstractInterface.plugin_name.should_not_be!(:blank)}/themes/#{current_theme.name}/#{resource}"
13
+ end
14
+
15
+ # def current_layout
16
+ # @current_layout || "default"
17
+ # end
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ def build_layout layout = nil
26
+ # Configuring
27
+ current_theme.layout = layout
28
+
29
+ # Rendering
30
+ current_theme.layout_definition['slots'].each do |slot_name, slots|
31
+ slots = Array(slots)
32
+ slots.each do |partial|
33
+ content_for slot_name do
34
+ render :partial => partial
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,78 @@
1
+ require 'abstract_interface/haml_builder'
2
+ require 'abstract_interface/model_stub'
3
+ require 'abstract_interface/view_helper'
4
+ require 'abstract_interface/support'
5
+
6
+ ActionController::Base.class_eval do
7
+ include AbstractInterface::ControllerHelper
8
+ helper AbstractInterface::ViewHelper
9
+
10
+ helper_method :themed_partial_exist?, :themed_partial, :current_theme
11
+ end
12
+
13
+ ActionView::Base.field_error_proc = lambda do |html_tag, instance|
14
+ html_tag
15
+ end
16
+
17
+ module AbstractInterface
18
+ class << self
19
+ attr_accessor :plugin_name
20
+ attr_accessor :layout_configurations_dir
21
+
22
+ def generate_helper_methods *args
23
+ AbstractInterface::ViewBuilder.generate_helper_methods *args
24
+ end
25
+
26
+ def available_themes; @available_themes ||= [] end
27
+
28
+ # Templates that should be wrapped if it doesn't defined for current theme
29
+ def dont_wrap_into_placeholder; @dont_wrap_into_placeholder ||= Set.new end
30
+
31
+ # TODO 3 don't cache it becouse there's a lots of text data that will be reside in memory.
32
+ def theme_metadata theme
33
+ metadata = {}
34
+ fname = "#{AbstractInterface.themes_dir}/#{theme}/metadata.rb"
35
+ if File.exist? fname
36
+ code = File.read fname
37
+ metadata = eval code
38
+ metadata.should! :be_a, Hash
39
+ end
40
+ metadata.to_openobject
41
+ end
42
+ cache_with_params! :theme_metadata unless Rails.development?
43
+
44
+ def themes_dir
45
+ "#{RAILS_ROOT}/vendor/plugins/#{AbstractInterface.plugin_name.should_not_be!(:blank)}/app/views/themes"
46
+ end
47
+
48
+ def layouts_defined?
49
+ !!layout_configurations_dir
50
+ end
51
+
52
+ def layout_definitions theme
53
+ fname = "#{layout_configurations_dir.should_not_be!(:empty)}/#{theme}.yml"
54
+ File.should! :exist?, fname
55
+ lds = YAML.load_file(fname)
56
+ validate_layout_definition!(lds, theme)
57
+ lds
58
+ end
59
+ cache_with_params! :layout_definitions unless Rails.development?
60
+
61
+ protected
62
+ def validate_layout_definition! lds, theme
63
+ lds.should! :be_a, Hash
64
+ unless lds.include?('default')
65
+ raise "No 'default' layout definition for '#{theme}' Theme (there always should be definition for 'default' layout)!"
66
+ end
67
+ lds.each do |theme_name, ld|
68
+ ld.should! :be_a, Hash
69
+ ld.should! :include, 'layout_template'
70
+ ld.should! :include, 'slots'
71
+ ld['slots'].should! :be_a, Hash
72
+ end
73
+ end
74
+ end
75
+
76
+ end
77
+
78
+ Rails.development{RailsExt.create_public_symlinks!} # rails_ext.css, rails_ext.js in development mode
@@ -2,7 +2,7 @@ require 'spec'
2
2
 
3
3
  require 'ruby_ext'
4
4
  require 'active_support'
5
- require "#{File.dirname __FILE__}/../../lib/interface_builder/haml_builder"
5
+ require "#{File.dirname __FILE__}/../../lib/abstract_interface/haml_builder"
6
6
 
7
7
  require 'facets/openobject'
8
8
 
@@ -27,7 +27,7 @@ describe "HamlBuilder use cases" do
27
27
  args.size.should! :be_in, 0..1
28
28
  opt[:content] = args.first if args.size == 1
29
29
 
30
- r = InterfaceBuilder::HamlBuilder.get_input(TemplateStub, opt, &block)
30
+ r = AbstractInterface::HamlBuilder.get_input(TemplateStub, opt, &block)
31
31
  convert_to_hashes r
32
32
  end
33
33
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-ext
3
3
  version: !ruby/object:Gem::Version
4
- hash: 37
4
+ hash: 43
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 27
10
- version: 0.3.27
9
+ - 28
10
+ version: 0.3.28
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alexey Petrushin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-05-22 00:00:00 +04:00
18
+ date: 2010-05-23 00:00:00 +04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -105,6 +105,7 @@ files:
105
105
  - .git/objects/0d/f02169bc94825e3629924eb44a662f07dc4dd8
106
106
  - .git/objects/0e/3e1ba37a5dde54955067f2281ed9a59498f6fc
107
107
  - .git/objects/0e/569306967bfebd5fd43b846a852b684c7f49e9
108
+ - .git/objects/0f/0c8c6adaa43424f5037ca877211f6298d2400e
108
109
  - .git/objects/0f/92cb7ae358323d43d026b83f7d1a4969cf7568
109
110
  - .git/objects/0f/d3ac42b07c2d3102263bd939704f5633db304e
110
111
  - .git/objects/10/1f52d83027dfe5798f87aec1118f02d19e5cf8
@@ -137,6 +138,7 @@ files:
137
138
  - .git/objects/18/adbbbcd043a3ef3e19854df8476b02d69544d0
138
139
  - .git/objects/19/1f68644a3646d774f2546c4cd49ac7d66f4cc2
139
140
  - .git/objects/19/c7ed2568bccfa8a745c4d32550ea5e9e47e6f8
141
+ - .git/objects/19/e876f62b90c9229b329227b24c1a8341282618
140
142
  - .git/objects/1a/929bce5b1c62a0c863ddca593310376374c3bf
141
143
  - .git/objects/1a/ff7d3c3636d032e1245491ca5261355fa4a207
142
144
  - .git/objects/1b/83175202b0bdd9e8aac50c186533c1730aa220
@@ -145,7 +147,9 @@ files:
145
147
  - .git/objects/1c/14e28ef05892ccfe61da3dc28e16f87040fe43
146
148
  - .git/objects/1c/65c12ac1816d1b56c7c3892acc61512696c673
147
149
  - .git/objects/1c/7fd48742e76d2cd6605e1a569e65e79ddd8f92
150
+ - .git/objects/1c/b54426926c16534375c353f9e7e04d6301a1b1
148
151
  - .git/objects/1d/3972733ede74012559f4c784b39ec66ff4166d
152
+ - .git/objects/1d/a311ae0ff991064b0544a989f18263985f368f
149
153
  - .git/objects/1d/d49713de2942dc974e55adc3684f55b2b817e2
150
154
  - .git/objects/1e/48b01e103c5d1be1107bfd6d227eda271580c8
151
155
  - .git/objects/1e/6374b23c71a07b0e414e80912fd45503bd3daf
@@ -173,6 +177,7 @@ files:
173
177
  - .git/objects/25/fa15d9a065f0d6e7ff2756b369c6a81799b03e
174
178
  - .git/objects/26/0e9c6d3781e3ea13d10067398a51a2d5d7bf51
175
179
  - .git/objects/26/8fe011dd9d01aa6e05c2004280b78e149ea29e
180
+ - .git/objects/26/bc58288bd96634bd5a8be0ff2b6f890f35cf97
176
181
  - .git/objects/26/f7780cd6f6f06c9986ee53443de25c3f96d40e
177
182
  - .git/objects/27/37bd94ff477fad57bb86f0a3e37110f6a75cb5
178
183
  - .git/objects/27/c51d8db9f25b7b6596dceb626252c90fd26b57
@@ -191,15 +196,19 @@ files:
191
196
  - .git/objects/2a/0ababefe6746dc4b945e3054349c31dcdd816c
192
197
  - .git/objects/2a/a47868a74cd3eea9d22e179f7ebc76d939e3ad
193
198
  - .git/objects/2b/0fbe9a4022a4a112d2fa583f79dc6221ef2baf
199
+ - .git/objects/2b/92d865e68b56fc2689b74a36eddd56dae29a88
194
200
  - .git/objects/2c/21f9d1b567c0d8f3d74e71b38beee67a53afdc
195
201
  - .git/objects/2c/633c11fb72405c6646493bc6c4d8c4fed0b9a6
196
202
  - .git/objects/2c/b04524ccd690f1cb4345586ca9138f9615afd5
197
203
  - .git/objects/2d/043376f1bc26b2dad3e79fc72ea14341ea437d
198
204
  - .git/objects/2d/90f7bfae12824956e169af9762be28dd79e8ce
199
205
  - .git/objects/2e/3e3fc8e46949a9b944da3c36207c444aa2c9b7
206
+ - .git/objects/2e/7a5197f328963dfbbaa60ef2fd39a2360ec631
200
207
  - .git/objects/2e/f02adc5485c579d75dfacf7034b20760f2fdf4
208
+ - .git/objects/2e/f1776e24d5e5e16f197095d890be91a2285c77
201
209
  - .git/objects/2f/af7acb8454f4b248d928b9a92f09571302a174
202
210
  - .git/objects/30/69d4978bbdfacf4402c4339438b29657275f2c
211
+ - .git/objects/30/81da56a76478c99b075f8e173527a482f1dd08
203
212
  - .git/objects/30/e5bf9c61cc450f8024ab7029a490d7fb9f3ff7
204
213
  - .git/objects/31/2394103747eda7e407df494c3e5d6263d6f476
205
214
  - .git/objects/31/2f74fcf97e832a3493accaf640f001d6d85170
@@ -215,6 +224,7 @@ files:
215
224
  - .git/objects/36/c05d6453dfbf5cdea71c4a40e0e7539eaa669e
216
225
  - .git/objects/36/c16174f65a0fc67c520aa36225d3e8c7a05775
217
226
  - .git/objects/36/c7ec2150ecaa7af94d9556c218f723a2eff0e1
227
+ - .git/objects/37/81a6d614f28843c373dc678762e5c6d9676316
218
228
  - .git/objects/37/8d35c31ccb70ca6bbb2fdc2fd4d4d302ff4f41
219
229
  - .git/objects/37/f8dc86fe13f6752dfb6c7880abec894e5a5a35
220
230
  - .git/objects/38/60bc71d9acadda183a096c1c8ca36129672ea6
@@ -258,6 +268,7 @@ files:
258
268
  - .git/objects/47/4f3074d7b1360f1897d62dd54444f70e645f1e
259
269
  - .git/objects/47/afb623cc9949394fc403bc977671307c1a9eda
260
270
  - .git/objects/48/0602886685e84f2a257eb8e95acfc8af1166b6
271
+ - .git/objects/48/08a771a51ac9867398791e978cd20d4b13e4ce
261
272
  - .git/objects/48/9d9ebe59b365b9778ebf368682803fe2962dde
262
273
  - .git/objects/49/66cd792ea3e03d5091aa7a332f2a082e479a76
263
274
  - .git/objects/49/b7ee2b8f19ff0639d351fd5f3616c1360ff700
@@ -292,6 +303,8 @@ files:
292
303
  - .git/objects/53/8aca7c60ef3cdfde25d4698e8e133ce18e512e
293
304
  - .git/objects/53/b8187421c09e55e44b8d6fb3c4cd7feb0a51b2
294
305
  - .git/objects/54/713b018cb71a95e3f10510ea96b9f103ef0255
306
+ - .git/objects/54/a81991fe89c15984d406d16c04faf45fd7251a
307
+ - .git/objects/54/b5f348d5e841928a9d90b5c4c3de5bbaaa015d
295
308
  - .git/objects/55/0dd68cd7e6918dd1473d609e8cafcde8f89009
296
309
  - .git/objects/55/3b8cd5bc6a69c81af2f957445c7a381fdf7220
297
310
  - .git/objects/55/45d0d521bb723db8feae0223fa838a183e38b7
@@ -351,6 +364,7 @@ files:
351
364
  - .git/objects/6a/02fd5698264a4165c46af5175a39f5b130de9c
352
365
  - .git/objects/6a/07aec23c51e5893c9664a739f5b27993fbc625
353
366
  - .git/objects/6a/2daaf6529a3841c7fd39683d9bcec79b48f79e
367
+ - .git/objects/6a/613e120fe466ecbde8c0322da0f84af5eb41dc
354
368
  - .git/objects/6a/90d6784ac3b6580ef470dac68c2d93c276d6a7
355
369
  - .git/objects/6a/cdfb69624140a67634b65ab8230cc5e0ffd543
356
370
  - .git/objects/6b/6ca4397efe04b2f715692d6086b73253b7402d
@@ -369,6 +383,7 @@ files:
369
383
  - .git/objects/6e/b67e3ad9f44898acced6d861f9743dad07e49c
370
384
  - .git/objects/6f/72c276ac50a5731aa5f7e7e01dd2793113fe5b
371
385
  - .git/objects/6f/8c62387c94fbb7639a1c1f25df92cab15d2154
386
+ - .git/objects/6f/e30114856fcb1fa466c1a18fecfe2dc2ce4169
372
387
  - .git/objects/71/2aa2c2ef44c499b0251dbe46eee1c90afbdeb6
373
388
  - .git/objects/71/3ef09968f2aa2abf7a0e908286ec5c80d3b9e9
374
389
  - .git/objects/71/8629a1ac1903b2e69404a365610df5e249cee8
@@ -414,9 +429,11 @@ files:
414
429
  - .git/objects/7e/ca6f113845c2dcdf536daa084349445d608879
415
430
  - .git/objects/7f/2f1e8e10a6b78b831b5f9a07e538db8f15104e
416
431
  - .git/objects/7f/5a29b185109286dba66581a28bcbe2ec398f9a
432
+ - .git/objects/7f/72d4e7d7b03be87d9441370970ab4c8d344640
417
433
  - .git/objects/80/1343ae84fe604b9fb93fb2265d2e3a49f25d3e
418
434
  - .git/objects/80/4a20e92f38623945cdb50ed8864d014632cf44
419
435
  - .git/objects/81/156e1461b12b90f0dc2604458317ca8f5d45c0
436
+ - .git/objects/81/7f6d877cb630b3e1f649769fadf69c2114a456
420
437
  - .git/objects/81/d4aa3b627dfc7397ce3f71577a8307324b8289
421
438
  - .git/objects/81/e506fe8796b432c7d3aa075a5f5844c839a23a
422
439
  - .git/objects/82/0190b802ed213aab7a56a928a09db06e2a90a2
@@ -432,12 +449,15 @@ files:
432
449
  - .git/objects/84/a211c6a73f57c4bb5e04e4abbb21ccd36fb18f
433
450
  - .git/objects/84/bfc21516dfc947e9aa64a47000b46da2c801d9
434
451
  - .git/objects/85/013aed579984acc4cf2aecab48fa398a2084a9
452
+ - .git/objects/85/b75423eae1ce81ed64ddf8d6abeaaea855ba8a
453
+ - .git/objects/85/c7a500980188445fa88eb33b4ea3274042f563
435
454
  - .git/objects/85/eee9f4c1a6f710ed87bf28a0531275777f8848
436
455
  - .git/objects/85/fd531f7352ad8f5ac030eed2204a662dd10a66
437
456
  - .git/objects/86/23de615f686de621ca23cbbff6a07885101df9
438
457
  - .git/objects/86/92c6013c20c061359f6482ba5338615952918c
439
458
  - .git/objects/86/b31b604469e9b261f4e5b927932504bca8c402
440
459
  - .git/objects/86/b5d7431198d0cbd17573297b56feb1a6084820
460
+ - .git/objects/87/c521c60f20f4e35639a78e5c2beb31848a761c
441
461
  - .git/objects/87/fc827fd223cac6b4e55d823a9ea86bb0726a3b
442
462
  - .git/objects/88/b888ea16fb14478c659390ce54e980b86198ef
443
463
  - .git/objects/89/2697494eb70fdccaf26bf547bb8d7428c0e5ff
@@ -471,6 +491,7 @@ files:
471
491
  - .git/objects/92/debcedcd81c328806dc7506b3cd91990bb9775
472
492
  - .git/objects/92/e1c250edfca72ed0932934257ef3cfc7122ec5
473
493
  - .git/objects/92/e1f3936e7c33007d0a466b836804450992a1eb
494
+ - .git/objects/93/31ab9c89c69dda86fced860f572236a48947d4
474
495
  - .git/objects/93/f9a6b596879347290cde161b03052bb22021de
475
496
  - .git/objects/94/72f3ac9e890231482aadd774bdc1c9ba742497
476
497
  - .git/objects/94/7bf4d6e7e81d5ca62a381caa8d761a9c43cf8a
@@ -488,12 +509,16 @@ files:
488
509
  - .git/objects/99/368683bd721c6c1b8db8eb1b468dffefa61a2e
489
510
  - .git/objects/99/8afa58b56034f5458b4aef2b8255daa53a5bb1
490
511
  - .git/objects/99/a23df6dd9c448928b25f2e749871c6fc696a32
512
+ - .git/objects/99/d31cde9fe69079a60379da41d7b25ac4e92bf8
491
513
  - .git/objects/9a/ef8f9aacfa5609934eac4de71d9440a23b1b9f
492
514
  - .git/objects/9b/11e8efda3f1354c0076a4f102fb38430f4b3b2
493
515
  - .git/objects/9b/8d018e85ce2ef1c2797cea4bf739426a767a02
516
+ - .git/objects/9b/a013a45d3dbe5c03ffd15d8866be4198029b90
494
517
  - .git/objects/9b/a1a0e6e5050444fc8743a18341ae219c54aa9b
518
+ - .git/objects/9b/a3774d4672b4f15a74f0c3c2b3d8269f5ca8f8
495
519
  - .git/objects/9c/20b1616810e3d1d5951ea6251ff2d28322dc16
496
520
  - .git/objects/9c/356fa968ee88fb38a4129fcfbef3eb1b1ba50e
521
+ - .git/objects/9c/445d11eaf28e0d97ab55d0c2584f7ab31bef1d
497
522
  - .git/objects/9d/23038fb44baa1cf819d782b731f77e281f2e06
498
523
  - .git/objects/9d/3f16cdc12f32c4fa10b7df80eb6e8a09e96a84
499
524
  - .git/objects/9d/66146c5013029dfe26de7404c6fb65c7fd4288
@@ -536,6 +561,7 @@ files:
536
561
  - .git/objects/ab/d27aa19a08f7a172d66da7ab0125838c09317e
537
562
  - .git/objects/ac/92bcf6c74d23824c3c7ce341f667507592c7f9
538
563
  - .git/objects/ac/a1ad63cec98e0b3dae23fbe088f5a5d2125a7a
564
+ - .git/objects/ac/d01650fc4540a21e360d94f299682bd2f348f2
539
565
  - .git/objects/ac/df4d7cb89a31894b95d8c107a4824f84c6cf55
540
566
  - .git/objects/ad/66aac16165dd71456e4488069248d6f10ebb8f
541
567
  - .git/objects/ae/536c345aad67cee8ce167dc91006263e63885f
@@ -550,6 +576,7 @@ files:
550
576
  - .git/objects/b1/0d2b27582bb0d779efe6e17c45aaa671d32f3a
551
577
  - .git/objects/b1/2623653bc803aeab5b77efdc72f79fb8f9c80e
552
578
  - .git/objects/b1/8a3c6bf39b910b9805973578074e6d6b692a4a
579
+ - .git/objects/b1/fe0302a0c114aa0686c68b8f92f46813a9f0b7
553
580
  - .git/objects/b2/99ac9d0ac730461d7610161b99ee4191c7c2b8
554
581
  - .git/objects/b2/a135cb8023def22524c4f6094d94cbc0c16c69
555
582
  - .git/objects/b2/cd852090540d0b2450b901397edd924d8c0ba9
@@ -563,7 +590,9 @@ files:
563
590
  - .git/objects/b5/15828bb32356501aa81bb4e808ea5d7d77f068
564
591
  - .git/objects/b5/33c1c1bca9eae5b7e75c639fff8ec2c2f9fea1
565
592
  - .git/objects/b5/edd343ceb8e87d1a73922612aec210b393f839
593
+ - .git/objects/b6/74b8fbbe1c22c793f97eb9d8cedad090145a3c
566
594
  - .git/objects/b7/88e3ac322b164a2a223f80f8a6da0836d9d1dd
595
+ - .git/objects/b7/f8065f8058acf6afe0ab6377a031af3b0f868f
567
596
  - .git/objects/b8/aaaf4949881600102a72a60f17fd58918dbd7b
568
597
  - .git/objects/b8/efcaff7f11cc584ac44303449d96592853c528
569
598
  - .git/objects/b9/d34f7765b265ccfb07337dc5f55914454e8a23
@@ -579,6 +608,7 @@ files:
579
608
  - .git/objects/bd/eab0ec8a914cdd8c9341340191c116a4bf2d3e
580
609
  - .git/objects/be/29c116694d85d48cf177cf30816aa159189536
581
610
  - .git/objects/be/4935dda5362a24e6fae89d4cd8f3cb2d302d01
611
+ - .git/objects/be/ccc2dfb4ebb94c6920aa5543dff4e2b4add690
582
612
  - .git/objects/c0/22e88f31b91cecfc45b1bae611c27f5b12ca15
583
613
  - .git/objects/c0/6835afc7627a9a401fe6a2118721857db3aeb5
584
614
  - .git/objects/c0/724bc45e241d336d6376f14d9b258c2e4744d4
@@ -602,6 +632,7 @@ files:
602
632
  - .git/objects/c5/64ac68ebc8e0db7a6355a45f3299829ef2a825
603
633
  - .git/objects/c5/9dfa6bb36393437844b2e4acd5452338d587a0
604
634
  - .git/objects/c6/16f380978400df648417cbbd197680f7e1a451
635
+ - .git/objects/c6/4b93c451584a04f99fd52b62b763b8e4e20585
605
636
  - .git/objects/c6/9db405143490c407206cf8afd7537a49ea30b2
606
637
  - .git/objects/c7/19fb334a65a20594437e2e6c944a08f30cfdf9
607
638
  - .git/objects/c7/a9ce2f4c2230143a30c77952c14ddf6507f511
@@ -651,6 +682,7 @@ files:
651
682
  - .git/objects/dc/d404a6183c1b2160add042127ada7ff83c9b7c
652
683
  - .git/objects/dc/e1fc65f9462792558151feab3fa64abf3a229f
653
684
  - .git/objects/dd/3a0aa57ce643ce2ab757237040de6fb4692fc9
685
+ - .git/objects/dd/7be4b09356883dc3ee66dda94ca95822b2be10
654
686
  - .git/objects/dd/a1f7a239fae8c8a259b10eebb45003194a840b
655
687
  - .git/objects/dd/ad36d883dd04cb1b68f0f81d5b3fa98b8551e3
656
688
  - .git/objects/de/10bee1e91cfbd53ccaa073aada68cbfeac22d8
@@ -707,27 +739,34 @@ files:
707
739
  - .git/objects/ed/6f2933b5e004994c7614117439dcf72acf66e3
708
740
  - .git/objects/ed/c690a7821df2da3c0ddeee24b87187b3a99d91
709
741
  - .git/objects/ee/8f2701595573a12b9186f3655a8baede5e8b4d
742
+ - .git/objects/ee/937c25fa0b87440bbd7b802f7b68750ae6b962
710
743
  - .git/objects/ee/ccaf0d272346a1dcc672a4131ba692a0027049
744
+ - .git/objects/ee/f8ef7501c7e368ee7a305a5a41c64ee9c7c41c
745
+ - .git/objects/ef/88073aabdae498a225427228ccd088f09ace07
711
746
  - .git/objects/f0/af2f0e63f924f45e55af90e691f3588552ffc9
712
747
  - .git/objects/f0/cc5fe16472186b3920fefdd8e1e3ca0715ca7e
713
748
  - .git/objects/f1/9154fc5093f2fd56f2660f386975b2a79be76f
714
749
  - .git/objects/f2/196f15b2d432b2a2d641aed4ae5afe7190edb9
715
750
  - .git/objects/f2/1aa127d1512cc6c8e46bf4f680a71277db8896
716
751
  - .git/objects/f2/474d9a4174ecfa5d43a77cd7ba6063935eb335
752
+ - .git/objects/f2/4f1c44768d2bf5f2748730377745243ac5d1b5
717
753
  - .git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731
718
754
  - .git/objects/f3/3573a82a9e7dbf9bc7f5b3feded4c223701d1f
719
755
  - .git/objects/f3/695926e6f2e6409080b838ac0ceee37b76dafe
720
756
  - .git/objects/f3/7784042bc99c16c02fd104dda82aafa42d4c9c
757
+ - .git/objects/f3/a2737cc886fa3e1a8c993ab0b3e33073e4f665
721
758
  - .git/objects/f3/f41f5c38825fcae9dd63fc9f18ce66b9ce08b7
722
759
  - .git/objects/f4/0f07e77ddaea3f97b82650633f361af19afdca
723
760
  - .git/objects/f4/2863a866b6cd3bb09d0482052cbf2da7fb4e5a
724
761
  - .git/objects/f4/2bc1aaa21ccdaa1bc0cfa8efb982b09b7eebb1
762
+ - .git/objects/f4/b2f322842db705def556599c1648269c7502d6
725
763
  - .git/objects/f5/8ca6b23d3ab90715ea6ba514546a416e50064e
726
764
  - .git/objects/f5/91a5c39e03e2102c9101db957b48c8c76e194c
727
765
  - .git/objects/f6/0fd8c2582e0f7688877f12f78ddb97a291046c
728
766
  - .git/objects/f6/1b2020cae7004d97b849c7a58a691ad39d125f
729
767
  - .git/objects/f6/3ad03a8daa1602df63aab3838947c18fa63797
730
768
  - .git/objects/f6/b9bcda0a6940c634c0ac0d6ac626028927e1da
769
+ - .git/objects/f6/e78f8597cecad3ff464f8c4ad7210178bd86af
731
770
  - .git/objects/f7/32b167a61d8db0328f0196af00b55147ebf756
732
771
  - .git/objects/f7/b177b2c6b25dd886d23d6be87bcf802af9b513
733
772
  - .git/objects/f7/be86378738705bbd1f97dd8be92c3cc7d54a66
@@ -743,6 +782,7 @@ files:
743
782
  - .git/objects/fc/022a0a2ed82b2361292833c0cb90f996aae858
744
783
  - .git/objects/fc/269675339310e8f1ade1282978274f7da2713c
745
784
  - .git/objects/fc/57fb9c7c3071095af9657d1cca26afaf5f258e
785
+ - .git/objects/fc/952bdf54d2d727b3b3c2971f00347265b5b070
746
786
  - .git/objects/fc/bf66b949d823f884d1aff2f3e192943cb195a2
747
787
  - .git/objects/fc/f17b13f109f3a2d9e9e9bd20d61d38b535a612
748
788
  - .git/objects/fd/066ab33785d26d7c6728d2651bfd560da5bdd1
@@ -761,17 +801,17 @@ files:
761
801
  - .git/refs/heads/master
762
802
  - .git/refs/remotes/origin/HEAD
763
803
  - .git/refs/remotes/origin/master
764
- - lib/interface_builder/controller_helper.rb
765
- - lib/interface_builder/form_builders/abstract_form_builder.rb
766
- - lib/interface_builder/form_builders/themed_form_builder.rb
767
- - lib/interface_builder/form_builders/themed_form_tag_builder.rb
768
- - lib/interface_builder/haml_builder.rb
769
- - lib/interface_builder/model_stub.rb
770
- - lib/interface_builder/support.rb
771
- - lib/interface_builder/theme.rb
772
- - lib/interface_builder/view_builder.rb
773
- - lib/interface_builder/view_helper.rb
774
- - lib/interface_builder.rb
804
+ - lib/abstract_interface/controller_helper.rb
805
+ - lib/abstract_interface/form_builders/abstract_form_builder.rb
806
+ - lib/abstract_interface/form_builders/themed_form_builder.rb
807
+ - lib/abstract_interface/form_builders/themed_form_tag_builder.rb
808
+ - lib/abstract_interface/haml_builder.rb
809
+ - lib/abstract_interface/model_stub.rb
810
+ - lib/abstract_interface/support.rb
811
+ - lib/abstract_interface/theme.rb
812
+ - lib/abstract_interface/view_builder.rb
813
+ - lib/abstract_interface/view_helper.rb
814
+ - lib/abstract_interface.rb
775
815
  - lib/mongo_mapper_ext/db_config.rb
776
816
  - lib/mongo_mapper_ext/hacks/fixes.rb
777
817
  - lib/mongo_mapper_ext/hacks/time_measuring.rb
@@ -1,12 +0,0 @@
1
- module InterfaceBuilder
2
- class Theme
3
- attr_writer :name, :layout_template, :layout
4
- def name; @name || 'default' end
5
- def layout_template; @layout_template || 'default' end
6
- def layout; @layout || 'default' end
7
-
8
- def metadata
9
- InterfaceBuilder.theme_metadata(name)
10
- end
11
- end
12
- end
@@ -1,19 +0,0 @@
1
- module InterfaceBuilder
2
- module ViewHelper
3
- #
4
- # Basic
5
- #
6
- def b
7
- @b ||= InterfaceBuilder::ViewBuilder.new self
8
- end
9
- alias_method :builder, :b
10
-
11
- def themed_resource resource
12
- "/#{InterfaceBuilder.plugin_name.should_not_be!(:blank)}/themes/#{current_theme.name}/#{resource}"
13
- end
14
-
15
- # def current_layout
16
- # @current_layout || "default"
17
- # end
18
- end
19
- end
@@ -1,50 +0,0 @@
1
- require 'interface_builder/haml_builder'
2
- require 'interface_builder/model_stub'
3
- require 'interface_builder/view_helper'
4
- require 'interface_builder/support'
5
-
6
- ActionController::Base.class_eval do
7
- include InterfaceBuilder::ControllerHelper
8
- helper InterfaceBuilder::ViewHelper
9
-
10
- helper_method :themed_partial_exist?, :themed_partial, :current_theme
11
- end
12
-
13
- ActionView::Base.field_error_proc = lambda do |html_tag, instance|
14
- html_tag
15
- end
16
-
17
- module InterfaceBuilder
18
- class << self
19
- attr_accessor :plugin_name
20
-
21
- def generate_helper_methods *args
22
- InterfaceBuilder::ViewBuilder.generate_helper_methods *args
23
- end
24
-
25
- def available_themes; @available_themes ||= [] end
26
-
27
- # Templates that should be wrapped if it doesn't defined for current theme
28
- def dont_wrap_into_placeholder; @dont_wrap_into_placeholder ||= Set.new end
29
-
30
- # TODO 3 don't cache it becouse there's a lots of text data that will be reside in memory.
31
- def theme_metadata theme
32
- metadata = {}
33
- fname = "#{InterfaceBuilder.themes_dir}/#{theme}/metadata.rb"
34
- if File.exist? fname
35
- code = File.read fname
36
- metadata = eval code
37
- metadata.should! :be_a, Hash
38
- end
39
- metadata.to_openobject
40
- end
41
- cache_with_params! :theme_metadata unless Rails.development?
42
-
43
- def themes_dir
44
- "#{RAILS_ROOT}/vendor/plugins/#{InterfaceBuilder.plugin_name.should_not_be!(:blank)}/app/views/themes"
45
- end
46
- end
47
-
48
- end
49
-
50
- Rails.development{RailsExt.create_public_symlinks!} # rails_ext.css, rails_ext.js in development mode