releaf 0.1.2 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +19 -21
- data/lib/releaf.rb +1 -34
- data/lib/releaf/all.rb +3 -0
- data/lib/releaf/rspec.rb +4 -0
- data/lib/releaf/rspec/features_matchers.rb +76 -0
- data/lib/releaf/rspec/helpers.rb +227 -0
- data/lib/releaf/rspec/matchers.rb +16 -0
- data/lib/releaf/test.rb +5 -0
- data/spec/factories/author.rb +6 -0
- data/spec/factories/book.rb +5 -0
- data/spec/factories/chapter.rb +7 -0
- data/spec/factories/common.rb +5 -0
- data/spec/factories/home_page.rb +5 -0
- data/spec/factories/node.rb +43 -0
- data/spec/factories/node_route.rb +7 -0
- data/spec/factories/publisher.rb +5 -0
- data/spec/factories/role.rb +21 -0
- data/spec/factories/text_page.rb +5 -0
- data/spec/factories/user.rb +22 -0
- data/spec/rails_helper.rb +122 -0
- data/spec/spec_helper.rb +81 -24
- data/spec/support/controller_macros.rb +8 -0
- data/spec/support/excel_helpers.rb +63 -0
- data/spec/support/shared/service_includer.rb +9 -0
- data/spec/support/wait_steps.rb +23 -0
- metadata +141 -499
- data/README.md +0 -77
- data/Rakefile +0 -70
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/close.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/loading.gif +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/next.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/prev.png +0 -0
- data/app/assets/images/releaf/add.png +0 -0
- data/app/assets/images/releaf/background.jpg +0 -0
- data/app/assets/images/releaf/button/button_bgr.gif +0 -0
- data/app/assets/images/releaf/button/button_hover_bgr.png +0 -0
- data/app/assets/images/releaf/controllers/content/close.gif +0 -0
- data/app/assets/images/releaf/controllers/content/close_active.gif +0 -0
- data/app/assets/images/releaf/controllers/content/close_hover.gif +0 -0
- data/app/assets/images/releaf/controllers/content/global_fields_bgr.png +0 -0
- data/app/assets/images/releaf/controllers/content/open.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_2.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_active.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_hover.gif +0 -0
- data/app/assets/images/releaf/controllers/sessions/background.jpg +0 -0
- data/app/assets/images/releaf/controllers/sessions/logo.jpg +0 -0
- data/app/assets/images/releaf/expand_tool/close.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_hover.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_hover_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/loader.gif +0 -0
- data/app/assets/images/releaf/expand_tool/open.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_hover.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_hover_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_shim.png +0 -0
- data/app/assets/images/releaf/favicon.ico +0 -0
- data/app/assets/images/releaf/globalFieldContainerBgr.png +0 -0
- data/app/assets/images/releaf/icons/129.png +0 -0
- data/app/assets/images/releaf/icons/130.png +0 -0
- data/app/assets/images/releaf/icons/accept.png +0 -0
- data/app/assets/images/releaf/icons/add.png +0 -0
- data/app/assets/images/releaf/icons/arrow_down.png +0 -0
- data/app/assets/images/releaf/icons/arrow_left.png +0 -0
- data/app/assets/images/releaf/icons/arrow_refresh.png +0 -0
- data/app/assets/images/releaf/icons/arrow_up.png +0 -0
- data/app/assets/images/releaf/icons/bin_empty.png +0 -0
- data/app/assets/images/releaf/icons/bullet_black.png +0 -0
- data/app/assets/images/releaf/icons/bullet_connect.png +0 -0
- data/app/assets/images/releaf/icons/bullet_start.png +0 -0
- data/app/assets/images/releaf/icons/bullet_tick.png +0 -0
- data/app/assets/images/releaf/icons/chrome.png +0 -0
- data/app/assets/images/releaf/icons/control_play.png +0 -0
- data/app/assets/images/releaf/icons/date.png +0 -0
- data/app/assets/images/releaf/icons/delete.png +0 -0
- data/app/assets/images/releaf/icons/disk.png +0 -0
- data/app/assets/images/releaf/icons/drag-handle.png +0 -0
- data/app/assets/images/releaf/icons/error.png +0 -0
- data/app/assets/images/releaf/icons/eye.png +0 -0
- data/app/assets/images/releaf/icons/firefox.png +0 -0
- data/app/assets/images/releaf/icons/google-not-available.gif +0 -0
- data/app/assets/images/releaf/icons/google.gif +0 -0
- data/app/assets/images/releaf/icons/keyboard.png +0 -0
- data/app/assets/images/releaf/icons/left_16.png +0 -0
- data/app/assets/images/releaf/icons/link.png +0 -0
- data/app/assets/images/releaf/icons/magnifier.png +0 -0
- data/app/assets/images/releaf/icons/notAllowed.png +0 -0
- data/app/assets/images/releaf/icons/page_white_add.png +0 -0
- data/app/assets/images/releaf/icons/page_white_edit.png +0 -0
- data/app/assets/images/releaf/icons/page_white_put.png +0 -0
- data/app/assets/images/releaf/icons/page_white_text.png +0 -0
- data/app/assets/images/releaf/icons/pencil.png +0 -0
- data/app/assets/images/releaf/icons/picture.png +0 -0
- data/app/assets/images/releaf/icons/right_16.png +0 -0
- data/app/assets/images/releaf/icons/tick.png +0 -0
- data/app/assets/images/releaf/icons/warning.png +0 -0
- data/app/assets/images/releaf/icons/world_go.png +0 -0
- data/app/assets/images/releaf/icons/world_link.png +0 -0
- data/app/assets/images/releaf/input/autocompleteExpandIcon.png +0 -0
- data/app/assets/images/releaf/input/input_bgr.gif +0 -0
- data/app/assets/images/releaf/language_root.png +0 -0
- data/app/assets/images/releaf/loader.gif +0 -0
- data/app/assets/images/releaf/logout.png +0 -0
- data/app/assets/images/releaf/main_menu/active_bgr.png +0 -0
- data/app/assets/images/releaf/main_menu/bgr.png +0 -0
- data/app/assets/images/releaf/main_menu/hover_bgr.png +0 -0
- data/app/assets/images/releaf/module.png +0 -0
- data/app/assets/images/releaf/panel_layout/active_bgr.png +0 -0
- data/app/assets/images/releaf/panel_layout/secondary_panel_horizontal_bgr.png +0 -0
- data/app/assets/images/releaf/panel_layout/secondary_panel_vertical_bgr.png +0 -0
- data/app/assets/images/releaf/releaf_table/selected_bgr.png +0 -0
- data/app/assets/images/releaf/releaf_table/th_bgr.gif +0 -0
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/README.md +0 -73
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/jquery.cookie.js +0 -47
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/server.js +0 -24
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.html +0 -19
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.js +0 -80
- data/app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js +0 -1882
- data/app/assets/javascripts/releaf/3rd_party/lightbox.js.erb +0 -379
- data/app/assets/javascripts/releaf/application.js +0 -14
- data/app/assets/javascripts/releaf/controllers/base.js +0 -130
- data/app/assets/javascripts/releaf/controllers/releaf/content.js +0 -90
- data/app/assets/javascripts/releaf/controllers/releaf/translations.js +0 -31
- data/app/assets/javascripts/releaf/include/continuous_scroll.js +0 -321
- data/app/assets/javascripts/releaf/include/field.type_autocomplete.js +0 -58
- data/app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js +0 -43
- data/app/assets/javascripts/releaf/include/field.type_richtext.js +0 -90
- data/app/assets/javascripts/releaf/include/localization.js +0 -12
- data/app/assets/javascripts/releaf/include/nested_fields.js +0 -64
- data/app/assets/javascripts/releaf/include/sortable.js +0 -29
- data/app/assets/javascripts/releaf/lib/request_url.js +0 -183
- data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-1.9.2.custom.css.erb +0 -464
- data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-timepicker-addon.css +0 -10
- data/app/assets/stylesheets/releaf/3rd_party/lightbox.css.erb +0 -157
- data/app/assets/stylesheets/releaf/application.css.erb +0 -122
- data/app/assets/stylesheets/releaf/controllers/base.css.erb +0 -205
- data/app/assets/stylesheets/releaf/controllers/releaf/content.css.erb +0 -422
- data/app/assets/stylesheets/releaf/controllers/releaf/sessions.css.scss.erb +0 -116
- data/app/assets/stylesheets/releaf/controllers/releaf/translations.css.erb +0 -205
- data/app/assets/stylesheets/releaf/include/button.css.erb +0 -176
- data/app/assets/stylesheets/releaf/include/field.css.erb +0 -281
- data/app/assets/stylesheets/releaf/include/input.css.erb +0 -40
- data/app/assets/stylesheets/releaf/include/main_menu.css.erb +0 -66
- data/app/assets/stylesheets/releaf/include/pagination.css.erb +0 -29
- data/app/assets/stylesheets/releaf/include/panel_layout.css.erb +0 -251
- data/app/assets/stylesheets/releaf/include/releaf_table.css.erb +0 -112
- data/app/assets/stylesheets/releaf/include/sortable.css.erb +0 -12
- data/app/controllers/releaf/admins_controller.rb +0 -55
- data/app/controllers/releaf/application_controller.rb +0 -11
- data/app/controllers/releaf/base_application_controller.rb +0 -18
- data/app/controllers/releaf/base_controller.rb +0 -571
- data/app/controllers/releaf/content_controller.rb +0 -183
- data/app/controllers/releaf/roles_controller.rb +0 -38
- data/app/controllers/releaf/sessions_controller.rb +0 -27
- data/app/controllers/releaf/tinymce_assets_controller.rb +0 -26
- data/app/controllers/releaf/translations_controller.rb +0 -117
- data/app/helpers/releaf/admin_helper.rb +0 -59
- data/app/helpers/releaf/application_helper.rb +0 -4
- data/app/helpers/releaf/pagination_renderer.rb +0 -44
- data/app/helpers/releaf/releaf_devise_helper.rb +0 -8
- data/app/models/releaf/admin.rb +0 -60
- data/app/models/releaf/blank_node_base.rb +0 -29
- data/app/models/releaf/node.rb +0 -222
- data/app/models/releaf/node_base.rb +0 -31
- data/app/models/releaf/role.rb +0 -126
- data/app/models/releaf/tinymce_asset.rb +0 -6
- data/app/views/layouts/releaf/admin.html.haml +0 -57
- data/app/views/layouts/releaf/devise.html.haml +0 -32
- data/app/views/releaf/aliases/_edit.body.html.haml +0 -50
- data/app/views/releaf/aliases/_edit.header.html.haml +0 -19
- data/app/views/releaf/aliases/_index.row.html.haml +0 -5
- data/app/views/releaf/aliases/_secondary_panel.html.haml +0 -13
- data/app/views/releaf/base/_edit.body.html.haml +0 -11
- data/app/views/releaf/base/_edit.field.html.haml +0 -23
- data/app/views/releaf/base/_edit.field_type_autocomplete.html.haml +0 -15
- data/app/views/releaf/base/_edit.field_type_boolean.html.haml +0 -5
- data/app/views/releaf/base/_edit.field_type_date.html.haml +0 -8
- data/app/views/releaf/base/_edit.field_type_datetime.html.haml +0 -8
- data/app/views/releaf/base/_edit.field_type_delete_nested.html.haml +0 -3
- data/app/views/releaf/base/_edit.field_type_file.html.haml +0 -10
- data/app/views/releaf/base/_edit.field_type_image.html.haml +0 -12
- data/app/views/releaf/base/_edit.field_type_item.html.haml +0 -31
- data/app/views/releaf/base/_edit.field_type_link.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_link_i18n.html.haml +0 -26
- data/app/views/releaf/base/_edit.field_type_password.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_richtext.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_richtext_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_text.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_text_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_textarea.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_textarea_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_time.html.haml +0 -8
- data/app/views/releaf/base/_edit.fields.association.html.haml +0 -48
- data/app/views/releaf/base/_edit.fields.has_many_template.html.haml +0 -15
- data/app/views/releaf/base/_edit.fields.html.haml +0 -20
- data/app/views/releaf/base/_edit.footer.html.haml +0 -14
- data/app/views/releaf/base/_edit.form.html.haml +0 -4
- data/app/views/releaf/base/_edit.header.html.haml +0 -3
- data/app/views/releaf/base/_index.body.html.haml +0 -6
- data/app/views/releaf/base/_index.cell.html.haml +0 -20
- data/app/views/releaf/base/_index.footer.html.haml +0 -28
- data/app/views/releaf/base/_index.header.html.haml +0 -4
- data/app/views/releaf/base/_index.row.html.haml +0 -6
- data/app/views/releaf/base/_index.search.html.haml +0 -5
- data/app/views/releaf/base/_index.table.html.haml +0 -24
- data/app/views/releaf/base/_secondary_panel.html.haml +0 -10
- data/app/views/releaf/base/_show.body.html.haml +0 -3
- data/app/views/releaf/base/_show.field.html.haml +0 -20
- data/app/views/releaf/base/_show.field_type_date.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_date_time.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_email.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_file.html.haml +0 -7
- data/app/views/releaf/base/_show.field_type_image.html.haml +0 -10
- data/app/views/releaf/base/_show.field_type_item.html.haml +0 -11
- data/app/views/releaf/base/_show.field_type_link.html.haml +0 -14
- data/app/views/releaf/base/_show.field_type_password.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_richtext.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_text.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_textarea.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_time.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_url.html.haml +0 -7
- data/app/views/releaf/base/_show.fields.association.html.haml +0 -36
- data/app/views/releaf/base/_show.fields.has_many_template.html.haml +0 -12
- data/app/views/releaf/base/_show.fields.html.haml +0 -17
- data/app/views/releaf/base/_show.footer.html.haml +0 -18
- data/app/views/releaf/base/_show.header.html.haml +0 -3
- data/app/views/releaf/base/confirm_destroy.html.haml +0 -17
- data/app/views/releaf/base/edit.html.haml +0 -1
- data/app/views/releaf/base/index.html.haml +0 -3
- data/app/views/releaf/base/new.html.haml +0 -1
- data/app/views/releaf/base/show.html.haml +0 -3
- data/app/views/releaf/content/_edit.body.html.haml +0 -46
- data/app/views/releaf/content/_edit.content_fields.html.haml +0 -11
- data/app/views/releaf/content/_edit.fields.html.haml +0 -17
- data/app/views/releaf/content/_edit.slug.html.haml +0 -12
- data/app/views/releaf/content/_get_content_form.html.haml +0 -7
- data/app/views/releaf/content/_secondary_panel.html.haml +0 -3
- data/app/views/releaf/content/_tree_level.html.haml +0 -16
- data/app/views/releaf/content/ajax.new.html.haml +0 -3
- data/app/views/releaf/content/index.html.haml +0 -0
- data/app/views/releaf/roles/_edit.field.permissions.html.haml +0 -5
- data/app/views/releaf/roles/_show.field.default.html.haml +0 -6
- data/app/views/releaf/roles/_show.field.permissions.html.haml +0 -11
- data/app/views/releaf/sessions/new.html.haml +0 -17
- data/app/views/releaf/translations/_edit.body.html.haml +0 -50
- data/app/views/releaf/translations/_edit.header.html.haml +0 -19
- data/app/views/releaf/translations/_index.row.html.haml +0 -5
- data/app/views/releaf/translations/_secondary_panel.html.haml +0 -13
- data/bin/releaf +0 -25
- data/lib/generators/releaf/install_generator.rb +0 -87
- data/lib/generators/releaf/templates/config/common_fields.yml.example +0 -17
- data/lib/generators/releaf/templates/controllers/home_controller.rb +0 -4
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_888888_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/close.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/loading.gif +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/next.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/prev.png +0 -0
- data/lib/generators/releaf/templates/initializers/releaf.rb +0 -20
- data/lib/generators/releaf/templates/initializers/releaf_i18n.rb +0 -25
- data/lib/generators/releaf/templates/initializers/releaf_store_current_template.rb +0 -25
- data/lib/generators/releaf/templates/javascripts/3rd_party/jquery.jcarousel.js +0 -1058
- data/lib/generators/releaf/templates/javascripts/3rd_party/jquery_ui.js +0 -14850
- data/lib/generators/releaf/templates/javascripts/3rd_party/lightbox.js.erb +0 -379
- data/lib/generators/releaf/templates/javascripts/application.js +0 -15
- data/lib/generators/releaf/templates/javascripts/lib/init_jcarousel.js +0 -40
- data/lib/generators/releaf/templates/javascripts/lib/js_check.js +0 -8
- data/lib/generators/releaf/templates/javascripts/lib/request_url.js +0 -169
- data/lib/generators/releaf/templates/javascripts/lib/sortable.js +0 -29
- data/lib/generators/releaf/templates/migrations/create_releaf_admins.rb +0 -53
- data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +0 -25
- data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +0 -12
- data/lib/generators/releaf/templates/migrations/create_releaf_tinymce_assets.rb +0 -11
- data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +0 -31
- data/lib/generators/releaf/templates/models/admin_ability.rb +0 -51
- data/lib/generators/releaf/templates/seeds.rb +0 -64
- data/lib/generators/releaf/templates/stylesheets/3rd_party/jquery_ui/smoothness.css.erb +0 -1174
- data/lib/generators/releaf/templates/stylesheets/3rd_party/lightbox.css.erb +0 -157
- data/lib/generators/releaf/templates/stylesheets/3rd_party/reset.css +0 -48
- data/lib/generators/releaf/templates/stylesheets/application.scss +0 -15
- data/lib/generators/releaf/templates/stylesheets/style.scss +0 -45
- data/lib/generators/releaf/templates/views/home/index.html.haml +0 -1
- data/lib/generators/releaf/templates/views/layouts/application.html.haml +0 -26
- data/lib/i18n/backend/releaf.rb +0 -97
- data/lib/i18n/backend/releaf/translation.rb +0 -61
- data/lib/i18n/backend/releaf/translation_data.rb +0 -39
- data/lib/i18n/backend/releaf/translation_group.rb +0 -34
- data/lib/i18n/releaf.rb +0 -1
- data/lib/releaf/boolean_at.rb +0 -77
- data/lib/releaf/engine.rb +0 -4
- data/lib/releaf/globalize3/fallbacks.rb +0 -19
- data/lib/releaf/resources.rb +0 -101
- data/lib/releaf/slug.rb +0 -118
- data/lib/releaf/version.rb +0 -3
- data/lib/tasks/releaf_tasks.rake +0 -4
- data/spec/factories/factories.rb +0 -24
- data/spec/features/admin_spec.rb +0 -41
- data/templates/releaf/installer.rb +0 -207
@@ -1,157 +0,0 @@
|
|
1
|
-
#lightboxOverlay {
|
2
|
-
position: absolute;
|
3
|
-
top: 0;
|
4
|
-
left: 0;
|
5
|
-
z-index: 9999;
|
6
|
-
background-color: black;
|
7
|
-
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
|
8
|
-
opacity: 0.85;
|
9
|
-
display: none;
|
10
|
-
}
|
11
|
-
|
12
|
-
#lightbox {
|
13
|
-
position: absolute;
|
14
|
-
left: 0;
|
15
|
-
width: 100%;
|
16
|
-
z-index: 10000;
|
17
|
-
text-align: center;
|
18
|
-
line-height: 0;
|
19
|
-
font-family: "lucida grande", tahoma, verdana, arial, sans-serif;
|
20
|
-
font-weight: normal;
|
21
|
-
}
|
22
|
-
#lightbox img {
|
23
|
-
width: auto;
|
24
|
-
height: auto;
|
25
|
-
}
|
26
|
-
#lightbox a img {
|
27
|
-
border: none;
|
28
|
-
}
|
29
|
-
|
30
|
-
.lb-outerContainer {
|
31
|
-
position: relative;
|
32
|
-
background-color: white;
|
33
|
-
*zoom: 1;
|
34
|
-
width: 250px;
|
35
|
-
height: 250px;
|
36
|
-
margin: 0 auto;
|
37
|
-
-webkit-border-radius: 4px;
|
38
|
-
-moz-border-radius: 4px;
|
39
|
-
-ms-border-radius: 4px;
|
40
|
-
-o-border-radius: 4px;
|
41
|
-
border-radius: 4px;
|
42
|
-
}
|
43
|
-
.lb-outerContainer:after {
|
44
|
-
content: "";
|
45
|
-
display: table;
|
46
|
-
clear: both;
|
47
|
-
}
|
48
|
-
|
49
|
-
.lb-container {
|
50
|
-
padding: 10px;
|
51
|
-
}
|
52
|
-
|
53
|
-
.lb-loader {
|
54
|
-
position: absolute;
|
55
|
-
top: 40%;
|
56
|
-
left: 0%;
|
57
|
-
height: 25%;
|
58
|
-
width: 100%;
|
59
|
-
text-align: center;
|
60
|
-
line-height: 0;
|
61
|
-
}
|
62
|
-
|
63
|
-
.lb-nav {
|
64
|
-
position: absolute;
|
65
|
-
top: 0;
|
66
|
-
left: 0;
|
67
|
-
height: 100%;
|
68
|
-
width: 100%;
|
69
|
-
z-index: 10;
|
70
|
-
}
|
71
|
-
|
72
|
-
.lb-container > .nav {
|
73
|
-
left: 0;
|
74
|
-
}
|
75
|
-
|
76
|
-
.lb-nav a {
|
77
|
-
outline: none;
|
78
|
-
}
|
79
|
-
|
80
|
-
.lb-prev, .lb-next {
|
81
|
-
width: 49%;
|
82
|
-
height: 100%;
|
83
|
-
background-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
84
|
-
/* Trick IE into showing hover */
|
85
|
-
display: block;
|
86
|
-
}
|
87
|
-
|
88
|
-
.lb-prev {
|
89
|
-
left: 0;
|
90
|
-
float: left;
|
91
|
-
}
|
92
|
-
|
93
|
-
.lb-next {
|
94
|
-
right: 0;
|
95
|
-
float: right;
|
96
|
-
}
|
97
|
-
|
98
|
-
.lb-prev:hover {
|
99
|
-
background: url(<%= asset_path('3rd_party/lightbox/prev.png') %>) left 48% no-repeat;
|
100
|
-
}
|
101
|
-
|
102
|
-
.lb-next:hover {
|
103
|
-
background: url(<%= asset_path('3rd_party/lightbox/next.png') %>) right 48% no-repeat;
|
104
|
-
}
|
105
|
-
|
106
|
-
.lb-dataContainer {
|
107
|
-
margin: 0 auto;
|
108
|
-
padding-top: 5px;
|
109
|
-
*zoom: 1;
|
110
|
-
width: 100%;
|
111
|
-
-moz-border-radius-bottomleft: 4px;
|
112
|
-
-webkit-border-bottom-left-radius: 4px;
|
113
|
-
-ms-border-bottom-left-radius: 4px;
|
114
|
-
-o-border-bottom-left-radius: 4px;
|
115
|
-
border-bottom-left-radius: 4px;
|
116
|
-
-moz-border-radius-bottomright: 4px;
|
117
|
-
-webkit-border-bottom-right-radius: 4px;
|
118
|
-
-ms-border-bottom-right-radius: 4px;
|
119
|
-
-o-border-bottom-right-radius: 4px;
|
120
|
-
border-bottom-right-radius: 4px;
|
121
|
-
}
|
122
|
-
.lb-dataContainer:after {
|
123
|
-
content: "";
|
124
|
-
display: table;
|
125
|
-
clear: both;
|
126
|
-
}
|
127
|
-
|
128
|
-
.lb-data {
|
129
|
-
padding: 0 10px;
|
130
|
-
color: #bbbbbb;
|
131
|
-
}
|
132
|
-
.lb-data .lb-details {
|
133
|
-
width: 85%;
|
134
|
-
float: left;
|
135
|
-
text-align: left;
|
136
|
-
line-height: 1.1em;
|
137
|
-
}
|
138
|
-
.lb-data .lb-caption {
|
139
|
-
font-size: 13px;
|
140
|
-
font-weight: bold;
|
141
|
-
line-height: 1em;
|
142
|
-
}
|
143
|
-
.lb-data .lb-number {
|
144
|
-
display: block;
|
145
|
-
clear: left;
|
146
|
-
padding-bottom: 1em;
|
147
|
-
font-size: 11px;
|
148
|
-
}
|
149
|
-
.lb-data .lb-close {
|
150
|
-
width: 35px;
|
151
|
-
float: right;
|
152
|
-
padding-bottom: 0.7em;
|
153
|
-
outline: none;
|
154
|
-
}
|
155
|
-
.lb-data .lb-close:hover {
|
156
|
-
cursor: pointer;
|
157
|
-
}
|
@@ -1,48 +0,0 @@
|
|
1
|
-
/* http://meyerweb.com/eric/tools/css/reset/
|
2
|
-
v2.0 | 20110126
|
3
|
-
License: none (public domain)
|
4
|
-
*/
|
5
|
-
|
6
|
-
html, body, div, span, applet, object, iframe,
|
7
|
-
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
8
|
-
a, abbr, acronym, address, big, cite, code,
|
9
|
-
del, dfn, em, img, ins, kbd, q, s, samp,
|
10
|
-
small, strike, strong, sub, sup, tt, var,
|
11
|
-
b, u, i, center,
|
12
|
-
dl, dt, dd, ol, ul, li,
|
13
|
-
fieldset, form, label, legend,
|
14
|
-
table, caption, tbody, tfoot, thead, tr, th, td,
|
15
|
-
article, aside, canvas, details, embed,
|
16
|
-
figure, figcaption, footer, header, hgroup,
|
17
|
-
menu, nav, output, ruby, section, summary,
|
18
|
-
time, mark, audio, video {
|
19
|
-
margin: 0;
|
20
|
-
padding: 0;
|
21
|
-
border: 0;
|
22
|
-
font-size: 100%;
|
23
|
-
font: inherit;
|
24
|
-
vertical-align: baseline;
|
25
|
-
}
|
26
|
-
/* HTML5 display-role reset for older browsers */
|
27
|
-
article, aside, details, figcaption, figure,
|
28
|
-
footer, header, hgroup, menu, nav, section {
|
29
|
-
display: block;
|
30
|
-
}
|
31
|
-
body {
|
32
|
-
line-height: 1;
|
33
|
-
}
|
34
|
-
ol, ul {
|
35
|
-
list-style: none;
|
36
|
-
}
|
37
|
-
blockquote, q {
|
38
|
-
quotes: none;
|
39
|
-
}
|
40
|
-
blockquote:before, blockquote:after,
|
41
|
-
q:before, q:after {
|
42
|
-
content: '';
|
43
|
-
content: none;
|
44
|
-
}
|
45
|
-
table {
|
46
|
-
border-collapse: collapse;
|
47
|
-
border-spacing: 0;
|
48
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
-
* listed below.
|
4
|
-
*
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
-
*
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
-
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
-
*
|
11
|
-
*= require ./3rd_party/reset
|
12
|
-
*= require ./3rd_party/jquery_ui/smoothness
|
13
|
-
*= require ./style
|
14
|
-
*= require_self
|
15
|
-
*/
|
@@ -1,45 +0,0 @@
|
|
1
|
-
$footer_height: 100px;
|
2
|
-
|
3
|
-
html, body, #body_wrap {
|
4
|
-
height: 100%;
|
5
|
-
}
|
6
|
-
|
7
|
-
#content_wrap {
|
8
|
-
height: auto;
|
9
|
-
min-height: 100%;
|
10
|
-
}
|
11
|
-
|
12
|
-
#content {
|
13
|
-
padding-bottom: $footer_height;
|
14
|
-
}
|
15
|
-
|
16
|
-
#footer {
|
17
|
-
position: relative;
|
18
|
-
margin-top: -$footer_height;
|
19
|
-
height: $footer_height;
|
20
|
-
clear:both;
|
21
|
-
background: #D6D6D6;
|
22
|
-
}
|
23
|
-
|
24
|
-
#header {
|
25
|
-
height: 50px;
|
26
|
-
background: #D6D6D6;
|
27
|
-
}
|
28
|
-
|
29
|
-
#header, #footer, #content {
|
30
|
-
> .content_wrap {
|
31
|
-
width: 900px;
|
32
|
-
margin: 0 auto;
|
33
|
-
padding: 10px 0;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
.left {
|
38
|
-
float: left;
|
39
|
-
}
|
40
|
-
.right {
|
41
|
-
float: right;
|
42
|
-
}
|
43
|
-
.clear {
|
44
|
-
clear: both;
|
45
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
Welcome to re:Leaf
|
@@ -1,26 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html
|
3
|
-
%head
|
4
|
-
%meta{:'http-equiv' => 'Content-Type', :content => 'text/html; charset=utf-8'}
|
5
|
-
%title AppName
|
6
|
-
-# = favicon_link_tag('/assets/favicon.ico')
|
7
|
-
= stylesheet_link_tag 'application'
|
8
|
-
- %w[.scss .css.scss .css].each do |ext|
|
9
|
-
- if File.exists?(Rails.root.to_s + "/app/assets/stylesheets/controllers/#{ params[:controller] + ext }")
|
10
|
-
= stylesheet_link_tag "controllers/#{params[:controller]}"
|
11
|
-
- break
|
12
|
-
|
13
|
-
|
14
|
-
%body(class = "#{params[:controller].tr('/', '-')}-controller #{params[:action]}-view #{I18n.locale}-locale")
|
15
|
-
= javascript_include_tag 'lib/js_check'
|
16
|
-
#body_wrap
|
17
|
-
#content_wrap
|
18
|
-
#header
|
19
|
-
Header
|
20
|
-
#content= yield
|
21
|
-
#footer
|
22
|
-
Footer
|
23
|
-
|
24
|
-
= javascript_include_tag 'application'
|
25
|
-
- if File.exists? Rails.root.to_s + "/app/assets/javascripts/controllers/#{params[:controller]}.js"
|
26
|
-
= javascript_include_tag "controllers/#{params[:controller]}"
|
data/lib/i18n/backend/releaf.rb
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'i18n/backend/base'
|
2
|
-
|
3
|
-
module I18n
|
4
|
-
module Backend
|
5
|
-
class Releaf
|
6
|
-
autoload :Translation, 'i18n/backend/releaf/translation'
|
7
|
-
autoload :TranslationData, 'i18n/backend/releaf/translation_data'
|
8
|
-
autoload :TranslationGroup, 'i18n/backend/releaf/translation_group'
|
9
|
-
|
10
|
-
|
11
|
-
module Implementation
|
12
|
-
include Base, Flatten
|
13
|
-
DEFAULT_SCOPE = ['global']
|
14
|
-
|
15
|
-
def available_locales
|
16
|
-
TranslationData.available_locales
|
17
|
-
rescue ::ActiveRecord::StatementInvalid
|
18
|
-
[]
|
19
|
-
end
|
20
|
-
|
21
|
-
def store_translations(locale, data, options = {})
|
22
|
-
end
|
23
|
-
|
24
|
-
def reload_cache
|
25
|
-
I18N_CACHE.clear
|
26
|
-
Translation.get_translated.find_each do |translation|
|
27
|
-
I18N_CACHE.write [translation.lang, translation.key], translation.localization
|
28
|
-
end
|
29
|
-
I18N_CACHE.write('UPDATED_AT', Settings.i18n_updated_at)
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
def check_cache
|
37
|
-
return if I18N_CACHE.read('UPDATED_AT').nil? == false && I18N_CACHE.read('UPDATED_AT') == Settings.i18n_updated_at
|
38
|
-
reload_cache
|
39
|
-
end
|
40
|
-
|
41
|
-
# Lookup translation from database
|
42
|
-
def lookup(locale, key, scope = [], options = {})
|
43
|
-
if scope.blank? && key !~ /\./
|
44
|
-
scope = DEFAULT_SCOPE
|
45
|
-
end
|
46
|
-
|
47
|
-
key = normalize_flat_keys(locale, key, scope, options[:separator])
|
48
|
-
group = key.split('.')[0...-1].join('.')
|
49
|
-
|
50
|
-
chain = key.split('.')
|
51
|
-
search_key = chain[-1]
|
52
|
-
keys_to_check_for_other_locales = []
|
53
|
-
|
54
|
-
begin
|
55
|
-
chain.pop
|
56
|
-
check_key = (chain + [search_key]).join('.')
|
57
|
-
result = I18N_CACHE.read [locale, check_key]
|
58
|
-
|
59
|
-
keys_to_check_for_other_locales.push check_key
|
60
|
-
|
61
|
-
next if result.nil? # nothing in cache was found
|
62
|
-
return nil if result == false # found nil translaiton in cache
|
63
|
-
return result unless result.blank? # found translation in cache
|
64
|
-
end while chain.empty? == false
|
65
|
-
|
66
|
-
return nil if I18N_CACHE.read [:missing, [locale, check_key]]
|
67
|
-
I18N_CACHE.write([:missing, [locale, check_key]], true) if Translation.where('releaf_translations.key IN (?)', keys_to_check_for_other_locales).exists?
|
68
|
-
|
69
|
-
save_missing_translation(locale, key)
|
70
|
-
return nil
|
71
|
-
rescue ::ActiveRecord::StatementInvalid
|
72
|
-
# is the translations table missing?
|
73
|
-
nil
|
74
|
-
end
|
75
|
-
|
76
|
-
def save_missing_translation(locale, key)
|
77
|
-
scope_parts = get_scope key
|
78
|
-
|
79
|
-
tg = TranslationGroup.find_or_create_by_scope(:scope => scope_parts.join('.'))
|
80
|
-
|
81
|
-
tg.translations.find_or_create_by_key(key)
|
82
|
-
I18N_CACHE.write [locale, key], false
|
83
|
-
end
|
84
|
-
|
85
|
-
def get_scope key
|
86
|
-
scope = key.split('.')[0...-1]
|
87
|
-
return scope unless scope.empty?
|
88
|
-
return DEFAULT_SCOPE
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
|
93
|
-
include Implementation
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require 'active_record'
|
2
|
-
|
3
|
-
module I18n
|
4
|
-
module Backend
|
5
|
-
class Releaf
|
6
|
-
class Translation < ::ActiveRecord::Base
|
7
|
-
|
8
|
-
self.table_name = "releaf_translations"
|
9
|
-
|
10
|
-
validates_presence_of :group_id, :key
|
11
|
-
validates_uniqueness_of :key, :scope => :group_id
|
12
|
-
|
13
|
-
belongs_to :translation_group, :foreign_key => :group_id
|
14
|
-
has_many :translation_data, :dependent => :destroy, :class_name => 'Releaf::TranslationData'
|
15
|
-
|
16
|
-
attr_accessible \
|
17
|
-
:group_id,
|
18
|
-
:key
|
19
|
-
|
20
|
-
scope :joined, select('releaf_translations.*, releaf_translation_data.lang as "lang", releaf_translation_data.localization as "localization", releaf_translation_groups.scope as "scope"').
|
21
|
-
joins(:translation_data, :translation_group)
|
22
|
-
|
23
|
-
scope :get_translated, joined.where('releaf_translation_data.lang IS NOT NULL');
|
24
|
-
|
25
|
-
scope :lookup, lambda { |locale, keys, scope|
|
26
|
-
joined.where('releaf_translation_groups.scope = :scope AND releaf_translation_data.lang = :locale AND releaf_translations.key in (:keys)', :keys => keys, :locale => locale, :scope => scope)
|
27
|
-
}
|
28
|
-
scope :filter, lambda{ |params|
|
29
|
-
where( 'releaf_translations.key LIKE ?', "%#{params[:search]}%" ) unless params[:search].blank?
|
30
|
-
}
|
31
|
-
|
32
|
-
after_commit :reload_cache
|
33
|
-
|
34
|
-
def locales
|
35
|
-
values = {}
|
36
|
-
Settings.i18n_locales.each do |locale|
|
37
|
-
values[locale] = nil
|
38
|
-
end
|
39
|
-
|
40
|
-
translation_data.find_each do |value|
|
41
|
-
values[value.lang] = value.localization if values.has_key? value.lang
|
42
|
-
end
|
43
|
-
|
44
|
-
values
|
45
|
-
end
|
46
|
-
|
47
|
-
def plain_key
|
48
|
-
key.gsub(translation_group.scope + '.', '')
|
49
|
-
end
|
50
|
-
|
51
|
-
private
|
52
|
-
|
53
|
-
def reload_cache
|
54
|
-
Settings.i18n_updated_at = Time.now
|
55
|
-
I18n.backend.reload_cache
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|