tramway-conference 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []