summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2014-04-17 10:12:05 +0200
committerazul <azul@riseup.net>2014-04-17 10:12:05 +0200
commit3513ad74f950b113af1ba1e3d06bc6a55c48fde5 (patch)
treedb49ebd4428053d5c8d720275b77594a531a1ad1 /core
parentcb6442c344d6bdaf52c3878b2de2fcf4d85f2648 (diff)
parent3d3688647fab7049e5b531c45b85c1e46a1d528f (diff)
Merge pull request #146 from azul/refactor/engines
Refactor/engines
Diffstat (limited to 'core')
-rw-r--r--core/Gemfile17
-rw-r--r--core/Rakefile44
-rw-r--r--core/Readme.md6
-rw-r--r--core/app/assets/javascripts/leap.js7
-rw-r--r--core/app/assets/javascripts/platform.js93
-rw-r--r--core/app/helpers/core_helper.rb13
-rw-r--r--core/app/helpers/download_helper.rb33
-rw-r--r--core/app/helpers/navigation_helper.rb82
-rw-r--r--core/app/views/common/_download_for_os.html.haml17
-rw-r--r--core/app/views/common/_home_page_buttons.html.haml23
-rw-r--r--core/app/views/kaminari/_first_page.html.haml9
-rw-r--r--core/app/views/kaminari/_gap.html.haml8
-rw-r--r--core/app/views/kaminari/_last_page.html.haml9
-rw-r--r--core/app/views/kaminari/_next_page.html.haml12
-rw-r--r--core/app/views/kaminari/_page.html.haml14
-rw-r--r--core/app/views/kaminari/_paginator.html.haml19
-rw-r--r--core/app/views/kaminari/_prev_page.html.haml12
-rw-r--r--core/config/initializers/backtrace_silencers.rb7
-rw-r--r--core/config/initializers/couchrest_model.rb3
-rw-r--r--core/config/initializers/inflections.rb15
-rw-r--r--core/config/initializers/mime_types.rb5
-rw-r--r--core/config/initializers/simple_form.rb142
-rw-r--r--core/config/initializers/simple_form_bootstrap.rb57
-rw-r--r--core/config/initializers/validations.rb4
-rw-r--r--core/config/initializers/wrap_parameters.rb10
-rw-r--r--core/config/locales/en.yml41
-rw-r--r--core/config/locales/simple_form.en.yml26
-rw-r--r--core/config/routes.rb2
-rw-r--r--core/leap_web_core.gemspec25
-rw-r--r--core/lib/extensions/couchrest.rb95
-rw-r--r--core/lib/extensions/testing.rb48
-rw-r--r--core/lib/leap_web_core.rb14
-rw-r--r--core/lib/leap_web_core/dependencies.rb40
-rw-r--r--core/lib/leap_web_core/engine.rb9
-rw-r--r--core/lib/leap_web_core/ui_dependencies.rb11
-rw-r--r--core/lib/tasks/leap_web_core_tasks.rake25
-rwxr-xr-xcore/script/rails8
-rw-r--r--core/test/support/browser_integration_test.rb81
-rw-r--r--core/test/support/rack_test.rb37
-rw-r--r--core/test/support/with_config_helper.rb16
40 files changed, 0 insertions, 1139 deletions
diff --git a/core/Gemfile b/core/Gemfile
deleted file mode 100644
index b552dc5..0000000
--- a/core/Gemfile
+++ /dev/null
@@ -1,17 +0,0 @@
-source "https://rubygems.org"
-
-# Declare your gem's dependencies in leap_web_core.gemspec.
-# Bundler will treat runtime dependencies like base dependencies, and
-# development dependencies will be added by default to the :development group.
-gemspec
-
-# jquery-rails is used by the dummy application
-gem "jquery-rails"
-
-# Declare any dependencies that are still in development here instead of in
-# your gemspec. These might include edge Rails or gems from your path or
-# Git. Remember to move these dependencies to your gemspec before releasing
-# your gem to rubygems.org.
-
-# To use debugger
-# gem 'ruby-debug'
diff --git a/core/Rakefile b/core/Rakefile
deleted file mode 100644
index 3c6539c..0000000
--- a/core/Rakefile
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env rake
-
-require 'rake/packagetask'
-require 'rubygems/package_task'
-
-begin
- require 'bundler/setup'
-rescue LoadError
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
-end
-begin
- require 'rdoc/task'
-rescue LoadError
- require 'rdoc/rdoc'
- require 'rake/rdoctask'
- RDoc::Task = Rake::RDocTask
-end
-
-RDoc::Task.new(:rdoc) do |rdoc|
- rdoc.rdoc_dir = 'rdoc'
- rdoc.title = 'LeapWebCore'
- rdoc.options << '--line-numbers'
- rdoc.rdoc_files.include('README.rdoc')
- rdoc.rdoc_files.include('lib/**/*.rb')
-end
-
-spec = eval(File.read('leap_web_core.gemspec'))
-Gem::PackageTask.new(spec) do |p|
- p.gem_spec = spec
-end
-
-Bundler::GemHelper.install_tasks
-
-require 'rake/testtask'
-
-Rake::TestTask.new(:test) do |t|
- t.libs << 'lib'
- t.libs << 'test'
- t.pattern = 'test/**/*_test.rb'
- t.verbose = false
-end
-
-
-task :default => :test
diff --git a/core/Readme.md b/core/Readme.md
deleted file mode 100644
index 795c0a4..0000000
--- a/core/Readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Leap Web Core
-===
-
-[Leap](http://www.leap.se) is the Leap Encryption Access Project and this is the rails app for its web interface.
-
-This is the its core gem. Currently it only serves to load shared dependencies.
diff --git a/core/app/assets/javascripts/leap.js b/core/app/assets/javascripts/leap.js
deleted file mode 100644
index 94e602d..0000000
--- a/core/app/assets/javascripts/leap.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-//
-// add a bootstrap alert to the page via javascript.
-//
-function alert_message(msg) {
- $('#messages').append('<div class="alert alert-error"><a class="close" data-dismiss="alert">×</a><span>'+msg+'</span></div>');
-}
diff --git a/core/app/assets/javascripts/platform.js b/core/app/assets/javascripts/platform.js
deleted file mode 100644
index 108c162..0000000
--- a/core/app/assets/javascripts/platform.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Inspired by mozillas platform detection:
- https://github.com/mozilla/bedrock/tree/master/media/js/base
-*/
- (function () {
- 'use strict';
- function getPlatform() {
- var ua = navigator.userAgent,
- pf = navigator.platform;
- if (/Win(16|9[x58]|NT( [1234]| 5\.0| [^0-9]|[^ -]|$))/.test(ua) ||
- /Windows ([MC]E|9[x58]|3\.1|4\.10|NT( [1234]| 5\.0| [^0-9]|[^ ]|$))/.test(ua) ||
- /Windows_95/.test(ua)) {
- /**
- * Officially unsupported platforms are Windows 95, 98, ME, NT 4.x, 2000
- * These regular expressions match:
- * - Win16
- * - Win9x
- * - Win95
- * - Win98
- * - WinNT (not followed by version or followed by version <= 5)
- * - Windows ME
- * - Windows CE
- * - Windows 9x
- * - Windows 95
- * - Windows 98
- * - Windows 3.1
- * - Windows 4.10
- * - Windows NT (not followed by version or followed by version <= 5)
- * - Windows_95
- */
- return 'oldwin';
- }
- if (ua.indexOf("MSIE 6.0") !== -1 &&
- ua.indexOf("Windows NT 5.1") !== -1 &&
- ua.indexOf("SV1") === -1) {
- // Windows XP SP1
- return 'oldwin';
- }
- if (pf.indexOf("Win32") !== -1 ||
- pf.indexOf("Win64") !== -1) {
- return 'windows';
- }
- if (/android/i.test(ua)) {
- return 'android';
- }
- if (/armv[6-7]l/.test(pf)) {
- return 'android';
- }
- if (pf.indexOf("Linux") !== -1) {
- return 'linux';
- //if (pf.indexOf("64") !== -1) {
- // return 'linux64';
- //} else {
- // return 'linux32';
- //}
- }
- if (pf.indexOf("MacPPC") !== -1) {
- return 'oldmac';
- }
- if (/Mac OS X 10.[0-5]/.test(ua)) {
- return 'oldmac';
- }
- if (pf.indexOf('iPhone') !== -1 ||
- pf.indexOf('iPad') !== -1 ||
- pf.indexOf('iPod') !== -1 ) {
- return 'ios';
- }
- if (ua.indexOf("Mac OS X") !== -1) {
- return 'osx';
- }
- if (ua.indexOf("MSIE 5.2") !== -1) {
- return 'oldmac';
- }
- if (pf.indexOf("Mac") !== -1) {
- return 'oldmac';
- }
- if (navigator.platform === '' &&
- navigator.userAgent.indexOf("Firefox") !== -1 &&
- navigator.userAgent.indexOf("Mobile") !== -1) {
- return 'fxos';
- }
-
- return 'other';
- }
- (function () {
- // Immediately set the platform classname on the html-element
- // to avoid lots of flickering
- var h = document.documentElement;
- window.site = {
- platform : getPlatform()
- };
- h.className = window.site.platform;
- })();
- })();
diff --git a/core/app/helpers/core_helper.rb b/core/app/helpers/core_helper.rb
deleted file mode 100644
index a6c7479..0000000
--- a/core/app/helpers/core_helper.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# Misc. helpers needed throughout.
-#
-module CoreHelper
-
- #
- # insert common buttons (download, login, etc)
- #
- def home_page_buttons(on_user_page = false)
- render 'common/home_page_buttons', {:on_user_page => on_user_page}
- end
-
-end
diff --git a/core/app/helpers/download_helper.rb b/core/app/helpers/download_helper.rb
deleted file mode 100644
index ee0fe73..0000000
--- a/core/app/helpers/download_helper.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-module DownloadHelper
-
- def alternative_client_links(os = nil)
- alternative_clients(os).map do |client|
- link_to(I18n.t("os."+client), client_download_url(client))
- end
- end
-
- def alternative_clients(os = nil)
- available_clients - [os]
- end
-
- def client_download_url(os = nil)
- client_download_domain + client_download_path(os)
- end
-
- def client_download_path(os)
- download_paths[os.to_s] || download_paths['other'] || ''
- end
-
- def available_clients
- APP_CONFIG[:available_clients] || []
- end
-
- def client_download_domain
- APP_CONFIG[:client_download_domain] || ''
- end
-
- def download_paths
- APP_CONFIG[:download_paths] || {}
- end
-
-end
diff --git a/core/app/helpers/navigation_helper.rb b/core/app/helpers/navigation_helper.rb
deleted file mode 100644
index 19cb934..0000000
--- a/core/app/helpers/navigation_helper.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-module NavigationHelper
-
- #
- # used to create a side navigation link.
- #
- # Signature is the same as link_to, except it accepts an :active value in the html_options
- #
- def link_to_navigation(*args)
- if args.last.is_a? Hash
- html_options = args.pop.dup
- active_class = html_options.delete(:active) ? 'active' : nil
- html_options[:class] = [html_options[:class], active_class].join(' ')
- args << html_options
- else
- active_class = nil
- end
- content_tag :li, :class => active_class do
- link_to(*args)
- end
- end
-
- #
- # returns true if params[:action] matches one of the args.
- #
- def action?(*actions)
- actions.detect do |action|
- if action.is_a? String
- action == action_string
- elsif action.is_a? Symbol
- if action == :none
- action_string == nil
- else
- action == action_symbol
- end
- end
- end
- end
-
- #
- # returns true if params[:controller] matches one of the args.
- #
- # for example:
- # controller?(:me, :home)
- # controller?('groups/') <-- matches any controller in namespace 'groups'
- #
- def controller?(*controllers)
- controllers.each do |cntr|
- if cntr.is_a? String
- if cntr.ends_with?('/')
- return true if controller_string.starts_with?(cntr.chop)
- end
- return true if cntr == controller_string
- elsif cntr.is_a? Symbol
- return true if cntr == controller_symbol
- end
- end
- return false
- end
-
- private
-
- def controller_string
- @controller_string ||= params[:controller].to_s.gsub(/^\//, '')
- end
-
- def controller_symbol
- @controller_symbol ||= params[:controller].gsub(/^\//,'').gsub('/','_').to_sym
- end
-
- def action_string
- params[:action]
- end
-
- def action_symbol
- @action_symbol ||= if params[:action].present?
- params[:action].to_sym
- else
- nil
- end
- end
-
-end
diff --git a/core/app/views/common/_download_for_os.html.haml b/core/app/views/common/_download_for_os.html.haml
deleted file mode 100644
index 3a11d10..0000000
--- a/core/app/views/common/_download_for_os.html.haml
+++ /dev/null
@@ -1,17 +0,0 @@
-- os = download_for_os
-%div{:class => "os-#{os}"}
- %span.link
- - btn_class = (os == "other") ? "disabled" : "btn-primary"
- = link_to client_download_url(os), :class => "btn btn-large #{btn_class}" do
- = big_icon('download')
- .pull-right
- = t(:download_client)
- %br/
- %small= I18n.t("os.#{os}")
- %span.info
- %div= t(:client_info, :provider => content_tag(:b,APP_CONFIG[:domain])).html_safe
- %div
- - if os == "other"
- = t(:all_downloads_info, :clients => alternative_client_links(os).to_sentence).html_safe
- - else
- = t(:other_downloads_info, :clients => alternative_client_links(os).to_sentence).html_safe
diff --git a/core/app/views/common/_home_page_buttons.html.haml b/core/app/views/common/_home_page_buttons.html.haml
deleted file mode 100644
index c9ea7a2..0000000
--- a/core/app/views/common/_home_page_buttons.html.haml
+++ /dev/null
@@ -1,23 +0,0 @@
-- icon_color = :black
-
-.home-buttons
- .row-fluid.first
- .span2
- .download.span8
- = render partial: 'common/download_for_os', collection: available_clients + ['other']
- .span2
- - if local_assigns[:divider]
- .row-fluid
- .span12
- = render local_assigns[:divider]
- - if !local_assigns[:on_user_page]
- .row-fluid.second
- .login.span4
- %span.link= link_to(icon('ok-sign', icon_color) + t(:login), login_path, :class => 'btn')
- %span.info= t(:login_info)
- .signup.span4
- %span.link= link_to(icon('user', icon_color) + t(:signup), signup_path, :class => 'btn')
- %span.info= t(:signup_info)
- .help.span4
- %span.link= link_to(icon('question-sign', icon_color) + t(:get_help), new_ticket_path, :class => 'btn')
- %span.info= t(:help_info)
diff --git a/core/app/views/kaminari/_first_page.html.haml b/core/app/views/kaminari/_first_page.html.haml
deleted file mode 100644
index 34436e3..0000000
--- a/core/app/views/kaminari/_first_page.html.haml
+++ /dev/null
@@ -1,9 +0,0 @@
--# Link to the "First" page
--# available local variables
--# url: url to the first page
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-%li
- = link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote
diff --git a/core/app/views/kaminari/_gap.html.haml b/core/app/views/kaminari/_gap.html.haml
deleted file mode 100644
index 51de678..0000000
--- a/core/app/views/kaminari/_gap.html.haml
+++ /dev/null
@@ -1,8 +0,0 @@
--# Non-link tag that stands for skipped pages...
--# available local variables
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-%li.disabled
- = raw(t 'views.pagination.truncate')
diff --git a/core/app/views/kaminari/_last_page.html.haml b/core/app/views/kaminari/_last_page.html.haml
deleted file mode 100644
index c90433c..0000000
--- a/core/app/views/kaminari/_last_page.html.haml
+++ /dev/null
@@ -1,9 +0,0 @@
--# Link to the "Last" page
--# available local variables
--# url: url to the last page
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-%li
- = link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote}
diff --git a/core/app/views/kaminari/_next_page.html.haml b/core/app/views/kaminari/_next_page.html.haml
deleted file mode 100644
index ea6cab2..0000000
--- a/core/app/views/kaminari/_next_page.html.haml
+++ /dev/null
@@ -1,12 +0,0 @@
--# Link to the "Next" page
--# available local variables
--# url: url to the next page
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-- if current_page.last?
- %li.disabled
- %span= raw(t 'views.pagination.next')
-- else
- %li= link_to(raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote)
diff --git a/core/app/views/kaminari/_page.html.haml b/core/app/views/kaminari/_page.html.haml
deleted file mode 100644
index 2f2f142..0000000
--- a/core/app/views/kaminari/_page.html.haml
+++ /dev/null
@@ -1,14 +0,0 @@
--# Link showing page number
--# available local variables
--# page: a page object for "this" page
--# url: url to this page
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-
-- if page.current?
- %li.active
- %span= page
-- else
- %li= link_to(page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil})
diff --git a/core/app/views/kaminari/_paginator.html.haml b/core/app/views/kaminari/_paginator.html.haml
deleted file mode 100644
index 79c5b92..0000000
--- a/core/app/views/kaminari/_paginator.html.haml
+++ /dev/null
@@ -1,19 +0,0 @@
--# The container tag
--# available local variables
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
--# paginator: the paginator that renders the pagination tags inside
-= paginator.render do
- .pagination
- %ul
- -#= first_page_tag unless current_page.first?
- = prev_page_tag #unless current_page.first?
- - each_page do |page|
- - if page.left_outer? || page.right_outer? || page.inside_window?
- = page_tag page
- - elsif !page.was_truncated?
- = gap_tag
- = next_page_tag #unless current_page.last?
- -#= last_page_tag unless current_page.last?
diff --git a/core/app/views/kaminari/_prev_page.html.haml b/core/app/views/kaminari/_prev_page.html.haml
deleted file mode 100644
index d274bf4..0000000
--- a/core/app/views/kaminari/_prev_page.html.haml
+++ /dev/null
@@ -1,12 +0,0 @@
--# Link to the "Previous" page
--# available local variables
--# url: url to the previous page
--# current_page: a page object for the currently displayed page
--# num_pages: total number of pages
--# per_page: number of items to fetch per page
--# remote: data-remote
-- if current_page.first?
- %li.disabled
- %span= raw(t 'views.pagination.previous')
-- else
- %li= link_to(raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote)
diff --git a/core/config/initializers/backtrace_silencers.rb b/core/config/initializers/backtrace_silencers.rb
deleted file mode 100644
index 59385cd..0000000
--- a/core/config/initializers/backtrace_silencers.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
-# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
-
-# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
-# Rails.backtrace_cleaner.remove_silencers!
diff --git a/core/config/initializers/couchrest_model.rb b/core/config/initializers/couchrest_model.rb
deleted file mode 100644
index ce4f41a..0000000
--- a/core/config/initializers/couchrest_model.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-CouchRest::Model::Base.configure do |config|
- config.auto_update_design_doc = false
-end
diff --git a/core/config/initializers/inflections.rb b/core/config/initializers/inflections.rb
deleted file mode 100644
index 5d8d9be..0000000
--- a/core/config/initializers/inflections.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new inflection rules using the following format
-# (all these examples are active by default):
-# ActiveSupport::Inflector.inflections do |inflect|
-# inflect.plural /^(ox)$/i, '\1en'
-# inflect.singular /^(ox)en/i, '\1'
-# inflect.irregular 'person', 'people'
-# inflect.uncountable %w( fish sheep )
-# end
-#
-# These inflection rules are supported but not enabled by default:
-# ActiveSupport::Inflector.inflections do |inflect|
-# inflect.acronym 'RESTful'
-# end
diff --git a/core/config/initializers/mime_types.rb b/core/config/initializers/mime_types.rb
deleted file mode 100644
index 72aca7e..0000000
--- a/core/config/initializers/mime_types.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new mime types for use in respond_to blocks:
-# Mime::Type.register "text/richtext", :rtf
-# Mime::Type.register_alias "text/html", :iphone
diff --git a/core/config/initializers/simple_form.rb b/core/config/initializers/simple_form.rb
deleted file mode 100644
index e3f8d09..0000000
--- a/core/config/initializers/simple_form.rb
+++ /dev/null
@@ -1,142 +0,0 @@
-# Use this setup block to configure all options available in SimpleForm.
-SimpleForm.setup do |config|
- # Wrappers are used by the form builder to generate a
- # complete input. You can remove any component from the
- # wrapper, change the order or even add your own to the
- # stack. The options given below are used to wrap the
- # whole input.
- config.wrappers :default, :class => :input,
- :hint_class => :field_with_hint, :error_class => :field_with_errors do |b|
- ## Extensions enabled by default
- # Any of these extensions can be disabled for a
- # given input by passing: `f.input EXTENSION_NAME => false`.
- # You can make any of these extensions optional by
- # renaming `b.use` to `b.optional`.
-
- # Determines whether to use HTML5 (:email, :url, ...)
- # and required attributes
- b.use :html5
-
- # Calculates placeholders automatically from I18n
- # You can also pass a string as f.input :placeholder => "Placeholder"
- b.use :placeholder
-
- ## Optional extensions
- # They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
- # to the input. If so, they will retrieve the values from the model
- # if any exists. If you want to enable the lookup for any of those
- # extensions by default, you can change `b.optional` to `b.use`.
-
- # Calculates maxlength from length validations for string inputs
- b.optional :maxlength
-
- # Calculates pattern from format validations for string inputs
- b.optional :pattern
-
- # Calculates min and max from length validations for numeric inputs
- b.optional :min_max
-
- # Calculates readonly automatically from readonly attributes
- b.optional :readonly
-
- ## Inputs
- b.use :label_input
- b.use :hint, :wrap_with => { :tag => :span, :class => :hint }
- b.use :error, :wrap_with => { :tag => :span, :class => :error }
- end
-
- # The default wrapper to be used by the FormBuilder.
- config.default_wrapper = :default
-
- # Define the way to render check boxes / radio buttons with labels.
- # Defaults to :nested for bootstrap config.
- # :inline => input + label
- # :nested => label > input
- config.boolean_style = :nested
-
- # Default class for buttons
- config.button_class = 'btn'
-
- # Method used to tidy up errors. Specify any Rails Array method.
- # :first lists the first message for each field.
- # Use :to_sentence to list all errors for each field.
- # config.error_method = :first
-
- # Default tag used for error notification helper.
- config.error_notification_tag = :div
-
- # CSS class to add for error notification helper.
- config.error_notification_class = 'alert alert-error'
-
- # ID to add for error notification helper.
- # config.error_notification_id = nil
-
- # Series of attempts to detect a default label method for collection.
- # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
-
- # Series of attempts to detect a default value method for collection.
- # config.collection_value_methods = [ :id, :to_s ]
-
- # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
- # config.collection_wrapper_tag = nil
-
- # You can define the class to use on all collection wrappers. Defaulting to none.
- # config.collection_wrapper_class = nil
-
- # You can wrap each item in a collection of radio/check boxes with a tag,
- # defaulting to :span. Please note that when using :boolean_style = :nested,
- # SimpleForm will force this option to be a label.
- # config.item_wrapper_tag = :span
-
- # You can define a class to use in all item wrappers. Defaulting to none.
- # config.item_wrapper_class = nil
-
- # How the label text should be generated altogether with the required text.
- # config.label_text = lambda { |label, required| "#{required} #{label}" }
-
- # You can define the class to use on all labels. Default is nil.
- config.label_class = 'control-label'
-
- # You can define the class to use on all forms. Default is simple_form.
- # config.form_class = :simple_form
-
- # You can define which elements should obtain additional classes
- # config.generate_additional_classes_for = [:wrapper, :label, :input]
-
- # Whether attributes are required by default (or not). Default is true.
- # config.required_by_default = true
-
- # Tell browsers whether to use default HTML5 validations (novalidate option).
- # Default is enabled.
- config.browser_validations = false
-
- # Collection of methods to detect if a file type was given.
- # config.file_methods = [ :mounted_as, :file?, :public_filename ]
-
- # Custom mappings for input types. This should be a hash containing a regexp
- # to match as key, and the input type that will be used when the field name
- # matches the regexp as value.
- # config.input_mappings = { /count/ => :integer }
-
- # Custom wrappers for input types. This should be a hash containing an input
- # type as key and the wrapper that will be used for all inputs with specified type.
- # config.wrapper_mappings = { :string => :prepend }
-
- # Default priority for time_zone inputs.
- # config.time_zone_priority = nil
-
- # Default priority for country inputs.
- # config.country_priority = nil
-
- # Default size for text inputs.
- # config.default_input_size = 50
-
- # When false, do not use translations for labels.
- # config.translate_labels = true
-
- # Automatically discover new inputs in Rails' autoload path.
- # config.inputs_discovery = true
-
- # Cache SimpleForm inputs discovery
- # config.cache_discovery = !Rails.env.development?
-end
diff --git a/core/config/initializers/simple_form_bootstrap.rb b/core/config/initializers/simple_form_bootstrap.rb
deleted file mode 100644
index c949f5e..0000000
--- a/core/config/initializers/simple_form_bootstrap.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-# Use this setup block to configure all options available in SimpleForm.
-SimpleForm.setup do |config|
- config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
- b.use :html5
- b.use :placeholder
- b.use :label
- b.wrapper :tag => 'div', :class => 'controls' do |ba|
- ba.use :input
- ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
- ba.use :hint, :wrap_with => { :tag => 'p', :class => 'help-block' }
- end
- end
-
- config.wrappers :prepend, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
- b.use :html5
- b.use :placeholder
- b.use :label
- b.wrapper :tag => 'div', :class => 'controls' do |input|
- input.wrapper :tag => 'div', :class => 'input-prepend' do |prepend|
- prepend.use :input
- end
- input.use :hint, :wrap_with => { :tag => 'span', :class => 'help-block' }
- input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
- end
- end
-
- config.wrappers :append, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
- b.use :html5
- b.use :placeholder
- b.use :label
- b.wrapper :tag => 'div', :class => 'controls' do |input|
- input.wrapper :tag => 'div', :class => 'input-append' do |append|
- append.use :input
- end
- input.use :hint, :wrap_with => { :tag => 'span', :class => 'help-block' }
- input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
- end
- end
-
- #
- # when you don't want any bootstrap "control-group" or "controls" wrappers.
- #
- config.wrappers :none, :tag => 'div', :error_class => 'error' do |b|
- b.use :html5
- b.use :placeholder
- b.use :label
- b.use :input
- b.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
- b.use :hint, :wrap_with => { :tag => 'p', :class => 'help-block' }
- end
-
- # Wrappers for forms and inputs using the Twitter Bootstrap toolkit.
- # Check the Bootstrap docs (http://twitter.github.com/bootstrap)
- # to learn about the different styles for forms and inputs,
- # buttons and other elements.
- config.default_wrapper = :bootstrap
-end
diff --git a/core/config/initializers/validations.rb b/core/config/initializers/validations.rb
deleted file mode 100644
index e8acfbe..0000000
--- a/core/config/initializers/validations.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# In case we use a different ORM at some point
-VALIDATION_FAILED = CouchRest::Model::Errors::Validations
-RECORD_NOT_FOUND = CouchRest::Model::DocumentNotFound
-RESOURCE_NOT_FOUND = RestClient::ResourceNotFound
diff --git a/core/config/initializers/wrap_parameters.rb b/core/config/initializers/wrap_parameters.rb
deleted file mode 100644
index 5fe232e..0000000
--- a/core/config/initializers/wrap_parameters.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# Be sure to restart your server when you modify this file.
-#
-# This file contains settings for ActionController::ParamsWrapper which
-# is enabled by default.
-
-# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
-ActiveSupport.on_load(:action_controller) do
- wrap_parameters :format => [:json]
-end
-
diff --git a/core/config/locales/en.yml b/core/config/locales/en.yml
deleted file mode 100644
index bb510d4..0000000
--- a/core/config/locales/en.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-en:
- no_such_thing: "No such %{thing}."
- thing_was_successfully_created: "%{thing} was successfully created."
- create_thing: "Create %{thing}"
-
- overview: "Overview"
- user_control_panel: "user control panel"
-
- created: "Created"
- created_by_on: "Created by %{user} on %{time}"
- updated: "Updated"
-
- none: "None"
- unknown: "Unknown"
- admin: "Admin"
- anonymous: "Anonymous"
- save: "Save"
- add: "Add"
- remove: "Remove"
- changes_saved: "Changes saved successfully."
- are_you_sure: "Are you sure? This change cannot be undone."
-
- download_client: "Download Bitmask"
- client_info: "The Bitmask application allows you to use %{provider} services."
- all_downloads_info: "It is available for %{clients}."
- other_downloads_info: "Bitmask is also available for %{clients}."
- login_info: "Log in to change your account settings, create support tickets, and manage payments."
- signup_info: "Sign up for a new user account via this website (it is better if you use the Bitmask application to sign up, but this website works too)."
- welcome: "Welcome to %{provider}."
- get_help: "Get Help"
- help_info: "Can't login? Create a new support ticket anonymously."
- example_email: 'user@domain.org'
- os:
- linux32: "Linux (32 bit)"
- linux64: "Linux (64 bit)"
- linux: "GNU/Linux"
- windows: "Windows"
- android: "Android"
- osx: "Mac OS"
- other: "(not available for your OS)"
-
diff --git a/core/config/locales/simple_form.en.yml b/core/config/locales/simple_form.en.yml
deleted file mode 100644
index 0df11fe..0000000
--- a/core/config/locales/simple_form.en.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-en:
- simple_form:
- "yes": 'Yes'
- "no": 'No'
- required:
- text: 'required'
- mark: '*'
- # You can uncomment the line below if you need to overwrite the whole required html.
- # When using html, text and mark won't be used.
- # html: '<abbr title="required">*</abbr>'
- error_notification:
- default_message: "Please review the problems below:"
- # Labels and hints examples
- # labels:
- # defaults:
- # password: 'Password'
- # user:
- # new:
- # email: 'E-mail to sign in.'
- # edit:
- # email: 'E-mail.'
- # hints:
- # defaults:
- # username: 'User name to sign in.'
- # password: 'No special characters, please.'
-
diff --git a/core/config/routes.rb b/core/config/routes.rb
deleted file mode 100644
index 1daf9a4..0000000
--- a/core/config/routes.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-Rails.application.routes.draw do
-end
diff --git a/core/leap_web_core.gemspec b/core/leap_web_core.gemspec
deleted file mode 100644
index 7ca4d90..0000000
--- a/core/leap_web_core.gemspec
+++ /dev/null
@@ -1,25 +0,0 @@
-$:.push File.expand_path("../lib", __FILE__)
-
-require File.expand_path('../../lib/leap_web/version.rb', __FILE__)
-
-# Describe your gem and declare its dependencies:
-Gem::Specification.new do |s|
- s.name = "leap_web_core"
- s.version = LeapWeb::VERSION
- s.authors = ["Azul"]
- s.email = ["azul@leap.se"]
- s.homepage = "http://www.leap.se"
- s.summary = "Web interface to the leap platform - core engine"
- s.description = "This web interface provides various administrative tools for the leap platform through plugins. Currently it manages user accounts and certificates."
-
- s.files = Dir["{app,config,db,lib}/**/*"] + ["Rakefile", "Readme.md"]
- s.test_files = Dir["test/**/*"]
-
- s.add_dependency "rails", "~> 3.2.11"
-
- s.add_dependency "couchrest", "~> 1.1.3"
- s.add_dependency "couchrest_model", "~> 2.0.0"
- s.add_dependency "couchrest_session_store", "~> 0.2.4"
-
- s.add_dependency "json"
-end
diff --git a/core/lib/extensions/couchrest.rb b/core/lib/extensions/couchrest.rb
deleted file mode 100644
index a9a195e..0000000
--- a/core/lib/extensions/couchrest.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-module CouchRest
- module Model
- module Designs
-
- class View
-
- # so we can called Ticket.method.descending or Ticket.method.ascending
- def ascending
- self
- end
- end
-
- class DesignMapper
- def load_views(dir)
- Dir.glob("#{dir}/*.js") do |js|
- name = File.basename(js, '.js')
- file = File.open(js, 'r')
- view name.to_sym,
- :map => file.read,
- :reduce => "function(key, values, rereduce) { return sum(values); }"
- end
- end
- end
- end
-
- module Connection
-
- module ClassMethods
-
- def use_database(db)
- @database = prepare_database(db)
- rescue RestClient::Exception,
- Errno::EHOSTUNREACH,
- Errno::ECONNREFUSED => e
- message = "Could not connect to couch database #{db} due to #{e.to_s}"
- Rails.logger.warn message
- raise e.class.new(message) if APP_CONFIG[:reraise_errors]
- end
- end
-
- end
-
- module Utils
- module Migrate
- def self.load_all_models_with_engines
- self.load_all_models_without_engines
- return unless defined?(Rails)
- Dir[Rails.root + '*/app/models/**/*.rb'].each do |path|
- require path
- end
- end
-
- class << self
- alias_method_chain :load_all_models, :engines
- end
-
- def dump_all_models
- prepare_directory
- find_models.each do |model|
- model.design_docs.each do |design|
- dump_design(model, design)
- end
- end
- end
-
- protected
-
- def dump_design(model, design)
- dir = prepare_directory model.name.tableize
- filename = design.id.sub('_design/','') + '.json'
- puts dir + filename
- design.checksum
- File.open(dir + filename, "w") do |file|
- file.write(JSON.pretty_generate(design.to_hash))
- end
- end
-
- def prepare_directory(dir = '')
- dir = Rails.root + 'tmp' + 'designs' + dir
- Dir.mkdir(dir) unless Dir.exists?(dir)
- return dir
- end
-
- end
- end
-
- end
-
- class ModelRailtie
- config.action_dispatch.rescue_responses.merge!(
- 'CouchRest::Model::DocumentNotFound' => :not_found,
- 'RestClient::ResourceNotFound' => :not_found
- )
- end
-end
diff --git a/core/lib/extensions/testing.rb b/core/lib/extensions/testing.rb
deleted file mode 100644
index 8f7e73c..0000000
--- a/core/lib/extensions/testing.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-module LeapWebCore
- module AssertResponses
-
- # response that works with different TestCases:
- # ActionController::TestCase has @response
- # ActionDispatch::IntegrationTest has @response
- # Rack::Test::Methods defines last_response
- def get_response
- @response || last_response
- end
-
- def assert_attachement_filename(name)
- assert_equal %Q(attachment; filename="#{name}"),
- get_response.headers["Content-Disposition"]
- end
-
- def json_response
- response = JSON.parse(get_response.body)
- response.respond_to?(:with_indifferent_access) ?
- response.with_indifferent_access :
- response
- end
-
- def assert_json_response(object)
- assert_equal 'application/json',
- get_response.content_type.to_s.split(';').first
- if object.is_a? Hash
- object.stringify_keys! if object.respond_to? :stringify_keys!
- assert_equal object, json_response
- else
- assert_equal object.to_json, get_response.body
- end
- end
-
- def assert_json_error(object)
- object.stringify_keys! if object.respond_to? :stringify_keys!
- assert_json_response :errors => object
- end
- end
-end
-
-class ::ActionController::TestCase
- include LeapWebCore::AssertResponses
-end
-
-class ::ActionDispatch::IntegrationTest
- include LeapWebCore::AssertResponses
-end
diff --git a/core/lib/leap_web_core.rb b/core/lib/leap_web_core.rb
deleted file mode 100644
index a58d140..0000000
--- a/core/lib/leap_web_core.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-require "rails"
-
-require "couchrest"
-require "couchrest_model"
-require "couchrest_session_store"
-
-require "json"
-
-require "extensions/testing"
-require "extensions/couchrest"
-require "leap_web_core/engine"
-
-module LeapWebCore
-end
diff --git a/core/lib/leap_web_core/dependencies.rb b/core/lib/leap_web_core/dependencies.rb
deleted file mode 100644
index 877e3d1..0000000
--- a/core/lib/leap_web_core/dependencies.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-module LeapWebCore
- class Dependencies
- UI_DEV = {
- "haml-rails" => "~> 0.3.4",
- "sass-rails" => "~> 3.2.5",
- "coffee-rails" => "~> 3.2.2",
- "uglifier" => "~> 1.2.7"
- }
-
- UI = {
- "haml" => "~> 3.1.7",
- "jquery-rails" => nil,
- "simple_form" => nil,
- "bootswatch-rails", "~> 0.5.0"
- }
-
- def self.require_ui_gems
- UI.keys.each {|dep| require dep}
- if Rails.env == "development"
- # This will be run in the app including plugins that run it.
- # However not all development_dependencies might be present.
- # So we better only require those that are.
- available = Bundler.definition.specs.map(&:name)
- gems_to_require = available & UI_DEV.keys
- gems_to_require.each {|dep| require dep}
- end
- end
-
- def self.add_ui_gems_to_spec(spec)
- UI.each do |dep, version|
- spec.add_dependency dep, version
- end
-
- UI_DEV.each do |dep, version|
- spec.add_development_dependency dep, version
- end
- end
-
- end
-end
diff --git a/core/lib/leap_web_core/engine.rb b/core/lib/leap_web_core/engine.rb
deleted file mode 100644
index 940b5e2..0000000
--- a/core/lib/leap_web_core/engine.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# thou shall require all your dependencies in an engine.
-require "couchrest"
-require "couchrest_model"
-
-module LeapWebCore
- class Engine < ::Rails::Engine
-
- end
-end
diff --git a/core/lib/leap_web_core/ui_dependencies.rb b/core/lib/leap_web_core/ui_dependencies.rb
deleted file mode 100644
index 2daee37..0000000
--- a/core/lib/leap_web_core/ui_dependencies.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-require "haml"
-require "jquery-rails"
-require "simple_form"
-require "bootswatch-rails"
-
-if Rails.env == "development"
- require "haml-rails"
- require "sass-rails"
- require "coffee-rails"
- require "uglifier"
-end
diff --git a/core/lib/tasks/leap_web_core_tasks.rake b/core/lib/tasks/leap_web_core_tasks.rake
deleted file mode 100644
index ec6abac..0000000
--- a/core/lib/tasks/leap_web_core_tasks.rake
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace :couchrest do
-
- desc "Dump all the design docs found in each model"
- task :dump => :environment do
- CouchRest::Model::Utils::Migrate.load_all_models
- CouchRest::Model::Utils::Migrate.dump_all_models
- end
-end
-
-namespace :cleanup do
-
- desc "Cleanup all expired session documents"
- task :sessions => :environment do
- # make sure this is the same as in
- # config/initializers/session_store.rb
- store = CouchRest::Session::Store.new expire_after: 1800
- store.cleanup(store.expired)
- end
-
- desc "Cleanup all expired tokens"
- task :tokens => :environment do
- Token.destroy_all_expired
- end
-end
-
diff --git a/core/script/rails b/core/script/rails
deleted file mode 100755
index c2ad538..0000000
--- a/core/script/rails
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env ruby1.8
-# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
-
-ENGINE_ROOT = File.expand_path('../..', __FILE__)
-ENGINE_PATH = File.expand_path('../../lib/leap_web_core/engine', __FILE__)
-
-require 'rails/all'
-require 'rails/engine/commands'
diff --git a/core/test/support/browser_integration_test.rb b/core/test/support/browser_integration_test.rb
deleted file mode 100644
index 2885c3a..0000000
--- a/core/test/support/browser_integration_test.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# BrowserIntegrationTest
-#
-# Use this class for capybara based integration tests for the ui.
-#
-
-class BrowserIntegrationTest < ActionDispatch::IntegrationTest
-
- CONFIG_RU = (Rails.root + 'config.ru').to_s
- OUTER_APP = Rack::Builder.parse_file(CONFIG_RU).first
-
- require 'capybara/poltergeist'
-
- Capybara.register_driver :rack_test do |app|
- Capybara::RackTest::Driver.new(app)
- end
-
- Capybara.register_driver :poltergeist do |app|
- Capybara::Poltergeist::Driver.new(app)
- end
-
- # this is integration testing. So let's make the whole
- # rack stack available...
- Capybara.app = OUTER_APP
- Capybara.run_server = true
- Capybara.app_host = 'http://lvh.me:3003'
- Capybara.server_port = 3003
- Capybara.javascript_driver = :poltergeist
- Capybara.default_wait_time = 5
-
-
- # Make the Capybara DSL available
- include Capybara::DSL
-
- setup do
- Capybara.current_driver = Capybara.javascript_driver
- page.driver.add_headers 'ACCEPT-LANGUAGE' => 'en-EN'
- end
-
- teardown do
- Capybara.reset_sessions! # Forget the (simulated) browser state
- Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
- end
-
- def submit_signup(username = nil, password = nil)
- username ||= "test_#{SecureRandom.urlsafe_base64}".downcase
- password ||= SecureRandom.base64
- visit '/users/new'
- fill_in 'Username', with: username
- fill_in 'Password', with: password
- fill_in 'Password confirmation', with: password
- click_on 'Sign Up'
- return username, password
- end
-
- add_teardown_hook do |testcase|
- unless testcase.passed?
- testcase.save_state
- end
- end
-
- def save_state
- page.save_screenshot screenshot_path
- File.open(logfile_path, 'w') do |test_log|
- test_log.puts self.class.name
- test_log.puts "========================="
- test_log.puts __name__
- test_log.puts Time.now
- test_log.puts current_path
- test_log.puts page.status_code
- test_log.puts page.response_headers
- test_log.puts "page.html"
- test_log.puts "------------------------"
- test_log.puts page.html
- test_log.puts "server log"
- test_log.puts "------------------------"
- test_log.puts `tail log/test.log -n 200`
- end
- end
-
-end
diff --git a/core/test/support/rack_test.rb b/core/test/support/rack_test.rb
deleted file mode 100644
index 2d8e5c4..0000000
--- a/core/test/support/rack_test.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-class RackTest < ActiveSupport::TestCase
- include Rack::Test::Methods
- include Warden::Test::Helpers
- include LeapWebCore::AssertResponses
-
- CONFIG_RU = (Rails.root + 'config.ru').to_s
- OUTER_APP = Rack::Builder.parse_file(CONFIG_RU).first
-
- def app
- OUTER_APP
- end
-
- def assert_access_denied
- assert_json_response('error' => I18n.t(:not_authorized))
- assert_response :unprocessable_entity
- end
-
- # inspired by rails 4
- # -> actionpack/lib/action_dispatch/testing/assertions/response.rb
- def assert_response(type, message = nil)
- # RackTest does not know @response
- response_code = last_response.status
- message ||= "Expected response to be a <#{type}>, but was <#{response_code}>"
-
- if Symbol === type
- if [:success, :missing, :redirect, :error].include?(type)
- assert last_response.send("#{type}?"), message
- else
- code = Rack::Utils::SYMBOL_TO_STATUS_CODE[type]
- assert_equal code, response_code, message
- end
- else
- assert_equal type, response_code, message
- end
- end
-
-end
diff --git a/core/test/support/with_config_helper.rb b/core/test/support/with_config_helper.rb
deleted file mode 100644
index 65eb7bc..0000000
--- a/core/test/support/with_config_helper.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-module WithConfigHelper
- extend ActiveSupport::Concern
-
- def with_config(options)
- old_config = APP_CONFIG.dup
- APP_CONFIG.merge! options
- yield
- ensure
- APP_CONFIG.replace old_config
- end
-
-end
-
-class ActiveSupport::TestCase
- include WithConfigHelper
-end