tramway-conference 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +29 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/tramway_conference_manifest.js +2 -0
  6. data/app/assets/javascripts/tramway/conference/application.js.coffee +13 -0
  7. data/app/assets/javascripts/tramway/conference/jquery.scrollTo.min.js +7 -0
  8. data/app/assets/stylesheets/tramway/conference/application.scss +7 -0
  9. data/app/controllers/tramway/conference/application_controller.rb +13 -0
  10. data/app/controllers/tramway/conference/web/welcome_controller.rb +9 -0
  11. data/app/decorators/tramway/conference/unity_decorator.rb +9 -0
  12. data/app/forms/tramway/conference/unity_form.rb +14 -0
  13. data/app/helpers/tramway/conference/application_helper.rb +7 -0
  14. data/app/helpers/tramway/conference/web/welcome_helper.rb +5 -0
  15. data/app/jobs/tramway/conference/application_job.rb +6 -0
  16. data/app/mailers/tramway/conference/application_mailer.rb +8 -0
  17. data/app/models/tramway/conference/application_record.rb +7 -0
  18. data/app/models/tramway/conference/unity.rb +5 -0
  19. data/app/views/tramway/conference/web/welcome/index.html.haml +37 -0
  20. data/config/initializers/simple_form.rb +22 -0
  21. data/config/initializers/simple_form_bootstrap.rb +133 -0
  22. data/config/initializers/tramway.rb +8 -0
  23. data/config/locales/models.yml +14 -0
  24. data/config/locales/ru.yml +16 -0
  25. data/config/routes.rb +11 -0
  26. data/lib/tasks/tramway/conference_tasks.rake +7 -0
  27. data/lib/tramway/conference.rb +8 -0
  28. data/lib/tramway/conference/engine.rb +9 -0
  29. data/lib/tramway/conference/generates/install_generator.rb +26 -0
  30. data/lib/tramway/conference/generates/templates/create_tramway_conference_unities.rb +21 -0
  31. data/lib/tramway/conference/version.rb +5 -0
  32. metadata +90 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8239718026f4a61e6ab6d1d27c2dc25c41815a242131a6cbf8ae7d0c1242ee6c
4
+ data.tar.gz: e9d3e5cfebc1e1dfc52342e875d503af6e337897e3ef28248ac429cbe5604557
5
+ SHA512:
6
+ metadata.gz: 1ad467141978c5a9d7b3ac8327fa26f52770b3c26edc196b3bcaa2836d21f6bc37a769a239c2e530d0f5650aa67c256515ea89e14c78e938926b7d5775e1014f
7
+ data.tar.gz: 2289617b0abf1713c66d54348f25691a8746ef1f6cf53eae13297a4d9a8e19f293626f33ab934db3d863f1310beb9ffef3b0adf65c31ce4c719932ee8240a267
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2018 Dmitry Korotin
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Tramway::Conference
2
+
3
+ *If you need translation of this Readme, please message us soxat73rus@gmail.com. We'll translate for you and post to this page*
4
+
5
+ tramway-conference - это страшное шаблонище для проекта [tramway](https://github.com/ulmic/tramway)
6
+
7
+ ## Usage
8
+ How to use my plugin.
9
+
10
+ ## Installation
11
+ Add this line to your application's Gemfile:
12
+
13
+ ```ruby
14
+ gem 'tramway-conference'
15
+ ```
16
+
17
+ And then execute:
18
+ ```bash
19
+ $ bundle
20
+ $ rails g tramway:conference:install
21
+ $ rails db:create db:migrate
22
+ $ rails tramway:conference:prepare
23
+ ```
24
+
25
+ ## Contributing
26
+ Contribution directions go here.
27
+
28
+ ## License
29
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,36 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Tramway::Conference'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ require 'bundler/gem_tasks'
26
+
27
+ require 'rake/testtask'
28
+
29
+ Rake::TestTask.new(:test) do |t|
30
+ t.libs << 'test'
31
+ t.pattern = 'test/**/*_test.rb'
32
+ t.verbose = false
33
+ end
34
+
35
+
36
+ task default: :test
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/tramway/conference .js
2
+ //= link_directory ../stylesheets/tramway/conference .css
@@ -0,0 +1,13 @@
1
+ #= require jquery
2
+ #= require jquery_ujs
3
+ #= require tramway/conference/jquery.scrollTo.min
4
+ #= require_tree .
5
+
6
+ $.extend($.scrollTo.defaults, {
7
+ axis: 'y',
8
+ duration: 2000
9
+ })
10
+ $(document).ready ->
11
+ $('.scroll').click (e) ->
12
+ e.preventDefault()
13
+ $.scrollTo "##{$(@).data('id')}"
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
3
+ * Licensed under MIT
4
+ * @author Ariel Flesler
5
+ * @version 2.1.2
6
+ */
7
+ ;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
@@ -0,0 +1,7 @@
1
+ /*
2
+ *= require_tree .
3
+ *= require_self
4
+ */
5
+
6
+ @import "bootstrap";
7
+ @import "tramway/admin/application";
@@ -0,0 +1,13 @@
1
+ module Tramway
2
+ module Conference
3
+ class ApplicationController < ActionController::Base
4
+ layout 'tramway/landing/application'
5
+ protect_from_forgery with: :exception
6
+ before_action :application
7
+
8
+ def application
9
+ @application = ::Tramway::Core.application.model_class.first
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ require_dependency "tramway/conference/application_controller"
2
+
3
+ class Tramway::Conference::Web::WelcomeController < ::Tramway::Conference::ApplicationController
4
+ def index
5
+ @unity = ::Tramway::Conference::Unity.includes(:social_networks).first
6
+ @blocks = ::Tramway::Landing::Block.on_main_page
7
+ @news = ::Tramway::News::News.active.first(3).map { |t| ::Tramway::Landing::Cards::NewsDecorator.new t }
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Tramway::Conference::UnityDecorator < ::Tramway::Core::ApplicationDecorator
2
+ class << self
3
+ def collections
4
+ [ :all ]
5
+ end
6
+ end
7
+
8
+ delegate :logo, to: :object
9
+ end
@@ -0,0 +1,14 @@
1
+ class Tramway::Conference::UnityForm < ::Tramway::Core::ApplicationForm
2
+ properties :title, :tagline, :logo, :state, :phone, :address, :longtitude, :latitude
3
+
4
+ def initialize(object)
5
+ form_object = super object
6
+ form_properties title: :string,
7
+ tagline: :string,
8
+ phone: :string,
9
+ address: :string,
10
+ latitude: :string,
11
+ longtitude: :string
12
+ form_object
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ module Tramway
2
+ module Conference
3
+ module ApplicationHelper
4
+ include ::FontAwesome::Rails::IconHelper
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Tramway::Conference
2
+ module Web::WelcomeHelper
3
+ include ::Tramway::Landing::ApplicationHelper
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ module Tramway
2
+ module Conference
3
+ class ApplicationJob < ActiveJob::Base
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ module Tramway
2
+ module Conference
3
+ class ApplicationMailer < ActionMailer::Base
4
+ default from: 'from@example.com'
5
+ layout 'mailer'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Tramway
2
+ module Conference
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Tramway::Conference
2
+ class Unity < ::Tramway::Core::ApplicationRecord
3
+ has_many :social_networks, as: :record, class_name: 'Tramway::Profiles::SocialNetwork'
4
+ end
5
+ end
@@ -0,0 +1,37 @@
1
+
2
+ = content_for :head_content do
3
+ = stylesheet_link_tag 'tramway/conference/application', media: 'all'
4
+ = javascript_include_tag 'tramway/conference/application'
5
+
6
+ = content_for :application_name do
7
+ = @application.title || t('application.name')
8
+
9
+ = content_for :title do
10
+ = @application.title || t('application.name')
11
+
12
+ = content_for :application_tagline do
13
+ = @application.tagline || t('application.tagline')
14
+
15
+ = content_for :address do
16
+ = @unity.address
17
+
18
+ = content_for :phone do
19
+ = @unity.phone
20
+
21
+ = content_for :navbar do
22
+ - [ :parents, :schoolkids, :adults, :contacts ].each do |block|
23
+ = menu_item t("blocks.navbar_links.#{block}"), "##{block}"
24
+
25
+ = content_for :footer_links do
26
+ = nil
27
+
28
+ = content_for :footer_logos do
29
+ = nil
30
+
31
+ = content_for :latitude do
32
+ = @unity.latitude
33
+
34
+ = content_for :longtitude do
35
+ = @unity.longtitude
36
+
37
+ - @collection_news = @news
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ SimpleForm.setup do |config|
3
+ config.wrappers :default, class: :input,
4
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
5
+ b.use :html5
6
+ b.use :placeholder
7
+ b.optional :maxlength
8
+ b.optional :pattern
9
+ b.optional :min_max
10
+ b.optional :readonly
11
+ b.use :label_input
12
+ b.use :hint, wrap_with: { tag: :span, class: :hint }
13
+ b.use :error, wrap_with: { tag: :span, class: :error }
14
+ end
15
+ config.default_wrapper = :default
16
+ config.boolean_style = :nested
17
+ config.button_class = 'btn'
18
+ config.error_notification_tag = :div
19
+ config.error_notification_class = 'error_notification'
20
+ config.browser_validations = false
21
+ config.boolean_label_class = 'checkbox'
22
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ SimpleForm.setup do |config|
4
+ config.error_notification_class = 'alert alert-danger'
5
+ config.button_class = 'btn btn-default'
6
+ config.boolean_label_class = nil
7
+
8
+ config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
9
+ b.use :html5
10
+ b.use :placeholder
11
+ b.optional :maxlength
12
+ b.optional :pattern
13
+ b.optional :min_max
14
+ b.optional :readonly
15
+ b.use :label, class: 'control-label'
16
+
17
+ b.use :input, class: 'form-control'
18
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
19
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
20
+ end
21
+
22
+ config.wrappers :vertical_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
23
+ b.use :html5
24
+ b.use :placeholder
25
+ b.optional :maxlength
26
+ b.optional :readonly
27
+ b.use :label, class: 'control-label'
28
+
29
+ b.use :input
30
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
31
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
32
+ end
33
+
34
+ config.wrappers :vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
35
+ b.use :html5
36
+ b.optional :readonly
37
+
38
+ b.wrapper tag: 'div', class: 'checkbox' do |ba|
39
+ ba.use :label_input
40
+ end
41
+
42
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
43
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
44
+ end
45
+
46
+ config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
47
+ b.use :html5
48
+ b.optional :readonly
49
+ b.use :label, class: 'control-label'
50
+ b.use :input
51
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
52
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
53
+ end
54
+
55
+ config.wrappers :horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
56
+ b.use :html5
57
+ b.use :placeholder
58
+ b.optional :maxlength
59
+ b.optional :pattern
60
+ b.optional :min_max
61
+ b.optional :readonly
62
+ b.use :label, class: 'col-sm-3 control-label'
63
+
64
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
65
+ ba.use :input, class: 'form-control'
66
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
67
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
68
+ end
69
+ end
70
+
71
+ config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
72
+ b.use :html5
73
+ b.use :placeholder
74
+ b.optional :maxlength
75
+ b.optional :readonly
76
+ b.use :label, class: 'col-sm-3 control-label'
77
+
78
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
79
+ ba.use :input
80
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
81
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
82
+ end
83
+ end
84
+
85
+ config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
86
+ b.use :html5
87
+ b.optional :readonly
88
+
89
+ b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
90
+ wr.wrapper tag: 'div', class: 'checkbox' do |ba|
91
+ ba.use :label_input, class: 'col-sm-9'
92
+ end
93
+
94
+ wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
95
+ wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
96
+ end
97
+ end
98
+
99
+ config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
100
+ b.use :html5
101
+ b.optional :readonly
102
+
103
+ b.use :label, class: 'col-sm-3 control-label'
104
+
105
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
106
+ ba.use :input
107
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
108
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
109
+ end
110
+ end
111
+
112
+ config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
113
+ b.use :html5
114
+ b.use :placeholder
115
+ b.optional :maxlength
116
+ b.optional :pattern
117
+ b.optional :min_max
118
+ b.optional :readonly
119
+ b.use :label, class: 'sr-only'
120
+
121
+ b.use :input, class: 'form-control'
122
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
123
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
124
+ end
125
+
126
+ config.default_wrapper = :vertical_form
127
+ config.wrapper_mappings = {
128
+ check_boxes: :vertical_radio_and_checkboxes,
129
+ radio_buttons: :vertical_radio_and_checkboxes,
130
+ file: :vertical_file_input,
131
+ boolean: :vertical_boolean
132
+ }
133
+ end
@@ -0,0 +1,8 @@
1
+ ::Tramway::User.root_path = '/admin'
2
+ #::Tramway::Admin.set_available_models ::Tramway::SportSchool::KindSport,
3
+ # ::Tramway::SportSchool::Trainer,
4
+ # ::Tramway::SportSchool::Document,
5
+ # ::Tramway::SportSchool::Organization
6
+ ::Tramway::Admin.set_singleton_models ::Tramway::Conference::Unity
7
+ ::Tramway::Core.initialize_application model_class: ::Tramway::Conference::Unity
8
+ ::Tramway::Profiles.records = [ ::Tramway::Conference::Unity ]
@@ -0,0 +1,14 @@
1
+ ru:
2
+ activerecord:
3
+ models:
4
+ tramway/conference/unity: Единство
5
+ attributes:
6
+ tramway/conference/unity:
7
+ title: Название
8
+ tagline: Лозунг
9
+ logo: Логотип
10
+ address: Адрес
11
+ phone: Телефон
12
+ cases:
13
+ tramway/conference/unity:
14
+ genitive: Единство
@@ -0,0 +1,16 @@
1
+ ru:
2
+ application:
3
+ name: Конференция
4
+ tagline: Главный слоган лендоса конференции
5
+ blocks:
6
+ navbar_links:
7
+ parents: Для родителей
8
+ schoolkids: Для школьников
9
+ adults: Для взрослых
10
+ contacts: Контакты
11
+ header_buttons:
12
+ parents: Я - родитель ребёнка
13
+ schoolkids: Я - школьник
14
+ adults: Я - взрослый
15
+ contacts: Контакты
16
+
data/config/routes.rb ADDED
@@ -0,0 +1,11 @@
1
+ Tramway::Conference::Engine.routes.draw do
2
+ mount Tramway::User::Engine, at: '/users'
3
+ mount Tramway::Admin::Engine, at: '/admin'
4
+ mount Tramway::News::Engine, at: '/'
5
+
6
+ root to: 'web/welcome#index'
7
+
8
+ scope module: :web do
9
+ resource :session, only: [ :new, :create, :destroy ]
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ namespace :tramway do
2
+ namespace :conference do
3
+ task :prepare do
4
+ ::Tramway::Conference::Unity.create!
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ require 'tramway/conference/engine'
2
+ require 'tramway/conference/generates/install_generator'
3
+ require 'font-awesome-rails'
4
+
5
+ module Tramway
6
+ module Conference
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ require 'font-awesome-rails'
2
+
3
+ module Tramway
4
+ module Conference
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace Tramway::Conference
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,26 @@
1
+ require 'rails/generators'
2
+ require 'tramway/core/generators/install_generator'
3
+
4
+ module Tramway::Conference::Generators
5
+ class InstallGenerator < ::Tramway::Core::Generators::InstallGenerator
6
+ include Rails::Generators::Migration
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def run_other_generators
10
+ generate 'tramway:user:install'
11
+ generate 'tramway:landing:install'
12
+ generate 'tramway:profiles:install'
13
+ end
14
+
15
+ def self.next_migration_number(path)
16
+ next_migration_number = current_migration_number(path) + 1
17
+ ActiveRecord::Migration.next_migration_number next_migration_number
18
+ end
19
+
20
+ def copy_migrations
21
+ ["create_tramway_conference_unities"].each do |migration_name|
22
+ migration_template "#{migration_name}.rb", "db/migrate/#{migration_name}.rb"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ class CreateTramwayConferenceUnities < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :tramway_conference_unities do |t|
4
+ t.text :title
5
+ t.text :tagline
6
+
7
+ t.text :logo
8
+
9
+ t.text :address
10
+ t.text :phone
11
+
12
+ t.text :latitude
13
+ t.text :longtitude
14
+
15
+ t.text :state, default: :active
16
+ t.text :view_state, default: :hidden
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,5 @@
1
+ module Tramway
2
+ module Conference
3
+ VERSION = '0.1.0'
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tramway-conference
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Dmitry Korotin
8
+ - Pavel Kalashnikov
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-04-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: pg
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ description: Engine for Conference web sites
29
+ email:
30
+ - soxat73rus@gmail.com
31
+ - kalashnikovisme@gmail.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - MIT-LICENSE
37
+ - README.md
38
+ - Rakefile
39
+ - app/assets/config/tramway_conference_manifest.js
40
+ - app/assets/javascripts/tramway/conference/application.js.coffee
41
+ - app/assets/javascripts/tramway/conference/jquery.scrollTo.min.js
42
+ - app/assets/stylesheets/tramway/conference/application.scss
43
+ - app/controllers/tramway/conference/application_controller.rb
44
+ - app/controllers/tramway/conference/web/welcome_controller.rb
45
+ - app/decorators/tramway/conference/unity_decorator.rb
46
+ - app/forms/tramway/conference/unity_form.rb
47
+ - app/helpers/tramway/conference/application_helper.rb
48
+ - app/helpers/tramway/conference/web/welcome_helper.rb
49
+ - app/jobs/tramway/conference/application_job.rb
50
+ - app/mailers/tramway/conference/application_mailer.rb
51
+ - app/models/tramway/conference/application_record.rb
52
+ - app/models/tramway/conference/unity.rb
53
+ - app/views/tramway/conference/web/welcome/index.html.haml
54
+ - config/initializers/simple_form.rb
55
+ - config/initializers/simple_form_bootstrap.rb
56
+ - config/initializers/tramway.rb
57
+ - config/locales/models.yml
58
+ - config/locales/ru.yml
59
+ - config/routes.rb
60
+ - lib/tasks/tramway/conference_tasks.rake
61
+ - lib/tramway/conference.rb
62
+ - lib/tramway/conference/engine.rb
63
+ - lib/tramway/conference/generates/install_generator.rb
64
+ - lib/tramway/conference/generates/templates/create_tramway_conference_unities.rb
65
+ - lib/tramway/conference/version.rb
66
+ homepage: https://github.com/ulmic/tramway-conference
67
+ licenses:
68
+ - MIT
69
+ metadata: {}
70
+ post_install_message:
71
+ rdoc_options: []
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ requirements: []
85
+ rubyforge_project:
86
+ rubygems_version: 2.7.3
87
+ signing_key:
88
+ specification_version: 4
89
+ summary: Engine for Conference web sites
90
+ test_files: []