jinda 0.6.4 → 0.7.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/config/manifest.js +4 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/4dcity-old.ico +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/4dcity.ico +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/account.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/add.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/ajax-loader-circle.gif +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/ajax-loader.gif +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/anchor.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/application_double.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/application_form_edit.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_left.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_right.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_turn_left.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_turn_right.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/calendar.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/cancel.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/chart_bar.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/clock.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/cog.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/control_fastforward.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/control_play.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/cross.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/delete.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/external-link.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/facebook-continue-button.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/facebooksmall.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/favicon.ico +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/freemind(mm).png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/google-continue-button.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/help.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/highway-menu.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/highway.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/house.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/icons-18-black.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/icons-18-white.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/icons-36-black.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/icons-36-white.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/logo.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/logo_jinda.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/logout.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/new.gif +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/new.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/page.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/page_attach.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/page_green.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/page_output.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/page_pdf.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/pencil.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/printer.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/refresh.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/report.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/rssmall.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/tick.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/twittersmall.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/user.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/user_admin_gear.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/images/view_code.png +0 -0
- data/{lib/generators/jinda/templates/app/assets/javascripts/application.js-jqm → app/assets/javascripts/application.js-org} +8 -11
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/cable.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/disable_enter_key.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/iscroll-wrapper.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/iscroll.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jinda.js +0 -0
- data/app/assets/javascripts/jinda_jqm.js +24 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile-1.2.1.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile.datebox.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile.splitview.js +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/app.scss +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/articles.scss +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.eot +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.woff +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/ajax-loader.gif +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_black.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_blue.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_red.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-18-black.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-18-white.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-36-black.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-36-white.png +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/indicator.gif +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jinda.css +17 -0
- data/app/assets/stylesheets/jinda_jqm.css.scss +32 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile-1.2.1.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.datebox.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.grids.collapsible.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.splitview.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/kul-4.2.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/kul-4.2.min.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/modules.scss +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/sarabun.css +0 -0
- data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/social.scss +0 -0
- data/{lib/generators/jinda/templates/app → app}/controllers/concerns/jinda_general_concern.rb +0 -0
- data/{lib/generators/jinda/templates/app → app}/controllers/concerns/jinda_run_concern.rb +0 -0
- data/{lib/generators/jinda/templates/app/controllers/jinda_org → app/controllers}/jinda_controller.rb +0 -0
- data/app/jinda/index.mm +369 -0
- data/app/jinda/template/index.mm +366 -0
- data/app/jinda/template/linkview.haml +21 -0
- data/app/jinda/template/view.html.erb +26 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_activity.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_menu.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_menu_mm.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_model.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_modul.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_pending_home.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_pending_page.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_service.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/_static.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/doc-thai.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/doc.md +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/error_logs.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/feed.rss.builder +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/help.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/index.html.haml +1 -1
- data/{lib/generators/jinda/templates/app → app}/views/jinda/logs.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/notice_logs.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/pending.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/run_form.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/run_output.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/search.haml +0 -0
- data/{lib/generators/jinda/templates/app → app}/views/jinda/status.haml +0 -0
- data/config/routes.rb +44 -0
- data/lib/generators/jinda/config_generator.rb +7 -0
- data/lib/generators/jinda/install_generator.rb +45 -42
- data/lib/generators/jinda/templates/Dockerfile +24 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +1 -10
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +1 -20
- data/lib/generators/jinda/templates/app/views/identities/new.html.erb +29 -24
- data/lib/generators/jinda/templates/app/views/password_resets/new.html.erb +13 -7
- data/lib/generators/jinda/templates/app/views/sessions/new.html.erb +24 -18
- data/lib/generators/jinda/templates/config/mongoid.yml-docker +182 -0
- data/lib/generators/jinda/templates/config/mongoid.yml-localhost +182 -0
- data/lib/generators/jinda/templates/docker-compose.yml +16 -0
- data/lib/generators/jinda/templates/entrypoint.sh +12 -0
- data/lib/jinda.rb +2 -1
- data/lib/jinda/date_helpers.rb +109 -0
- data/lib/jinda/{gemhelpers.rb → gem_helpers.rb} +0 -1
- data/lib/jinda/gen_class.rb +13 -0
- data/lib/jinda/gen_controller.rb +10 -0
- data/lib/jinda/gen_freemind.rb +33 -0
- data/lib/jinda/gen_helpers.rb +141 -0
- data/lib/jinda/gen_models.rb +137 -0
- data/lib/jinda/gen_runseq.rb +71 -0
- data/lib/jinda/gen_services.rb +90 -0
- data/lib/jinda/gen_xmain.rb +38 -0
- data/lib/jinda/get_app.rb +34 -0
- data/lib/jinda/helpers.rb +17 -998
- data/lib/jinda/init_vars.rb +36 -0
- data/lib/jinda/rake_views.rb +59 -0
- data/lib/jinda/refresh.rb +67 -0
- data/lib/jinda/themes.rb +163 -0
- data/lib/jinda/version.rb +1 -1
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/channels/application_cable/channel.rb +4 -0
- data/test/dummy/app/channels/application_cable/connection.rb +4 -0
- data/test/dummy/app/controllers/application_controller.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/javascript/packs/application.js +15 -0
- data/test/dummy/app/jobs/application_job.rb +7 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/application_record.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +33 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/config/application.rb +19 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +62 -0
- data/test/dummy/config/environments/production.rb +112 -0
- data/test/dummy/config/environments/test.rb +49 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/test/dummy/config/initializers/assets.rb +12 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/content_security_policy.rb +28 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +33 -0
- data/test/dummy/config/puma.rb +38 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/config/storage.yml +34 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/log/development.log +8 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/tmp/development_secret.txt +1 -0
- data/test/integration/navigation_test.rb +7 -0
- data/test/jinda_test.rb +7 -0
- data/test/test_helper.rb +19 -0
- metadata +228 -142
- data/lib/generators/jinda/templates/app/controllers/jinda_org/devs_controller.rb +0 -2
@@ -0,0 +1,182 @@
|
|
1
|
+
development:
|
2
|
+
# Configure available database clients. (required)
|
3
|
+
clients:
|
4
|
+
# Defines the default client. (required)
|
5
|
+
default:
|
6
|
+
# Mongoid can connect to a URI accepted by the driver:
|
7
|
+
# uri: mongodb://user:password@mongodb.domain.com:27017/shop263603_development
|
8
|
+
|
9
|
+
# Otherwise define the parameters separately.
|
10
|
+
# This defines the name of the default database that Mongoid can connect to.
|
11
|
+
# (required).
|
12
|
+
database: shop263603_development
|
13
|
+
# Provides the hosts the default client can connect to. Must be an array
|
14
|
+
# of host:port pairs. (required)
|
15
|
+
hosts:
|
16
|
+
- localhost:27017
|
17
|
+
# - mongodb
|
18
|
+
options:
|
19
|
+
# Note that all options listed below are Ruby driver client options (the mongo gem).
|
20
|
+
# Please refer to the driver documentation of the version of the mongo gem you are using
|
21
|
+
# for the most up-to-date list of options.
|
22
|
+
#
|
23
|
+
# Change the default write concern. (default = { w: 1 })
|
24
|
+
# write:
|
25
|
+
# w: 1
|
26
|
+
|
27
|
+
# Change the default read preference. Valid options for mode are: :secondary,
|
28
|
+
# :secondary_preferred, :primary, :primary_preferred, :nearest
|
29
|
+
# (default: primary)
|
30
|
+
# read:
|
31
|
+
# mode: :secondary_preferred
|
32
|
+
# tag_sets:
|
33
|
+
# - use: web
|
34
|
+
|
35
|
+
# The name of the user for authentication.
|
36
|
+
# user: 'user'
|
37
|
+
|
38
|
+
# The password of the user for authentication.
|
39
|
+
# password: 'password'
|
40
|
+
|
41
|
+
# The user's database roles.
|
42
|
+
# roles:
|
43
|
+
# - 'dbOwner'
|
44
|
+
|
45
|
+
# Change the default authentication mechanism. Valid options are: :scram,
|
46
|
+
# :mongodb_cr, :mongodb_x509, and :plain. Note that all authentication
|
47
|
+
# mechanisms require username and password, with the exception of :mongodb_x509.
|
48
|
+
# Default on mongoDB 3.0 is :scram, default on 2.4 and 2.6 is :plain.
|
49
|
+
# auth_mech: :scram
|
50
|
+
|
51
|
+
# The database or source to authenticate the user against.
|
52
|
+
# (default: the database specified above or admin)
|
53
|
+
# auth_source: admin
|
54
|
+
|
55
|
+
# Force a the driver cluster to behave in a certain manner instead of auto-
|
56
|
+
# discovering. Can be one of: :direct, :replica_set, :sharded. Set to :direct
|
57
|
+
# when connecting to hidden members of a replica set.
|
58
|
+
# connect: :direct
|
59
|
+
|
60
|
+
# Changes the default time in seconds the server monitors refresh their status
|
61
|
+
# via ismaster commands. (default: 10)
|
62
|
+
# heartbeat_frequency: 10
|
63
|
+
|
64
|
+
# The time in seconds for selecting servers for a near read preference. (default: 0.015)
|
65
|
+
# local_threshold: 0.015
|
66
|
+
|
67
|
+
# The timeout in seconds for selecting a server for an operation. (default: 30)
|
68
|
+
# server_selection_timeout: 30
|
69
|
+
|
70
|
+
# The maximum number of connections in the connection pool. (default: 5)
|
71
|
+
# max_pool_size: 5
|
72
|
+
|
73
|
+
# The minimum number of connections in the connection pool. (default: 1)
|
74
|
+
# min_pool_size: 1
|
75
|
+
|
76
|
+
# The time to wait, in seconds, in the connection pool for a connection
|
77
|
+
# to be checked in before timing out. (default: 5)
|
78
|
+
# wait_queue_timeout: 5
|
79
|
+
|
80
|
+
# The time to wait to establish a connection before timing out, in seconds.
|
81
|
+
# (default: 10)
|
82
|
+
# connect_timeout: 10
|
83
|
+
|
84
|
+
# The timeout to wait to execute operations on a socket before raising an error.
|
85
|
+
# (default: 5)
|
86
|
+
# socket_timeout: 5
|
87
|
+
|
88
|
+
# The name of the replica set to connect to. Servers provided as seeds that do
|
89
|
+
# not belong to this replica set will be ignored.
|
90
|
+
# replica_set: name
|
91
|
+
|
92
|
+
# Whether to connect to the servers via ssl. (default: false)
|
93
|
+
# ssl: true
|
94
|
+
|
95
|
+
# The certificate file used to identify the connection against MongoDB.
|
96
|
+
# ssl_cert: /path/to/my.cert
|
97
|
+
|
98
|
+
# The private keyfile used to identify the connection against MongoDB.
|
99
|
+
# Note that even if the key is stored in the same file as the certificate,
|
100
|
+
# both need to be explicitly specified.
|
101
|
+
# ssl_key: /path/to/my.key
|
102
|
+
|
103
|
+
# A passphrase for the private key.
|
104
|
+
# ssl_key_pass_phrase: password
|
105
|
+
|
106
|
+
# Whether to do peer certification validation. (default: true)
|
107
|
+
# ssl_verify: true
|
108
|
+
|
109
|
+
# The file containing concatenated certificate authority certificates
|
110
|
+
# used to validate certs passed from the other end of the connection.
|
111
|
+
# ssl_ca_cert: /path/to/ca.cert
|
112
|
+
|
113
|
+
# Whether to truncate long log lines. (default: true)
|
114
|
+
# truncate_logs: true
|
115
|
+
|
116
|
+
# Configure Mongoid specific options. (optional)
|
117
|
+
options:
|
118
|
+
# Includes the root model name in json serialization. (default: false)
|
119
|
+
# include_root_in_json: false
|
120
|
+
|
121
|
+
# Include the _type field in serialization. (default: false)
|
122
|
+
# include_type_for_serialization: false
|
123
|
+
|
124
|
+
# Preload all models in development, needed when models use
|
125
|
+
# inheritance. (default: false)
|
126
|
+
# preload_models: false
|
127
|
+
|
128
|
+
# Raise an error when performing a #find and the document is not found.
|
129
|
+
# (default: true)
|
130
|
+
# raise_not_found_error: true
|
131
|
+
raise_not_found_error: false
|
132
|
+
|
133
|
+
# Raise an error when defining a scope with the same name as an
|
134
|
+
# existing method. (default: false)
|
135
|
+
# scope_overwrite_exception: false
|
136
|
+
|
137
|
+
# Raise an error when defining a field with the same name as an
|
138
|
+
# existing method. (default: false)
|
139
|
+
# duplicate_fields_exception: false
|
140
|
+
|
141
|
+
# Use Active Support's time zone in conversions. (default: true)
|
142
|
+
# use_activesupport_time_zone: true
|
143
|
+
|
144
|
+
# Ensure all times are UTC in the app side. (default: false)
|
145
|
+
# use_utc: false
|
146
|
+
|
147
|
+
# Set the Mongoid and Ruby driver log levels when not in a Rails
|
148
|
+
# environment. The Mongoid logger will be set to the Rails logger
|
149
|
+
# otherwise.(default: :info)
|
150
|
+
# log_level: :info
|
151
|
+
|
152
|
+
# Control whether `belongs_to` association is required. By default
|
153
|
+
# `belongs_to` will trigger a validation error if the association
|
154
|
+
# is not present. (default: true)
|
155
|
+
# belongs_to_required_by_default: true
|
156
|
+
belongs_to_required_by_default: false
|
157
|
+
|
158
|
+
# Application name that is printed to the mongodb logs upon establishing a
|
159
|
+
# connection in server versions >= 3.4. Note that the name cannot exceed 128 bytes.
|
160
|
+
# app_name: MyApplicationName
|
161
|
+
|
162
|
+
production:
|
163
|
+
clients:
|
164
|
+
default:
|
165
|
+
uri: <%= ENV['MONGODB_URI'] %>
|
166
|
+
options:
|
167
|
+
raise_not_found_error: false
|
168
|
+
belongs_to_required_by_default: false
|
169
|
+
|
170
|
+
|
171
|
+
# Use background indexes by default if `background` option not specified. (default: false)
|
172
|
+
# background_indexing: false
|
173
|
+
test:
|
174
|
+
clients:
|
175
|
+
default:
|
176
|
+
database: shop263603_test
|
177
|
+
hosts:
|
178
|
+
- localhost:27017
|
179
|
+
options:
|
180
|
+
read:
|
181
|
+
mode: :primary
|
182
|
+
max_pool_size: 1
|
@@ -0,0 +1,16 @@
|
|
1
|
+
version: '3'
|
2
|
+
services:
|
3
|
+
web:
|
4
|
+
build: .
|
5
|
+
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
|
6
|
+
volumes:
|
7
|
+
- .:/myapp
|
8
|
+
ports:
|
9
|
+
- "3000:3000"
|
10
|
+
depends_on:
|
11
|
+
- mongodb
|
12
|
+
|
13
|
+
mongodb:
|
14
|
+
image: mongo
|
15
|
+
ports:
|
16
|
+
- "27017:27017"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e
|
3
|
+
# change mongoid.yml for docker
|
4
|
+
cp /myapp/config/mongoid.yml-docker /myapp/config/mongoid.yml
|
5
|
+
# Remove a potentially pre-existing server.pid for Rails.
|
6
|
+
rm -f /myapp/tmp/pids/server.pid
|
7
|
+
# Compile the assets
|
8
|
+
# bundle exec rake assets:precompile
|
9
|
+
# Add admin user
|
10
|
+
rake jinda:seed
|
11
|
+
# Then exec the container's main process (what's set as CMD in the Dockerfile).
|
12
|
+
exec "$@"
|
data/lib/jinda.rb
CHANGED
@@ -0,0 +1,109 @@
|
|
1
|
+
module ActionView
|
2
|
+
module Helpers
|
3
|
+
module DateHelper
|
4
|
+
def date_field_tag(method, options = {})
|
5
|
+
default= options[:default] || Date.today
|
6
|
+
data_options= ({"mode"=>"calbox"}).merge(options)
|
7
|
+
%Q(<input name='#{method}' id='#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>).html_safe
|
8
|
+
end
|
9
|
+
end
|
10
|
+
class FormBuilder
|
11
|
+
def date_select_thai(method)
|
12
|
+
self.date_select method, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year]
|
13
|
+
end
|
14
|
+
def date_field(method, options = {})
|
15
|
+
default= options[:default] || self.object.send(method) || Date.today
|
16
|
+
data_options= ({"mode"=>"calbox"}).merge(options)
|
17
|
+
out= %Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>)
|
18
|
+
out.html_safe
|
19
|
+
end
|
20
|
+
def time_field(method, options = {})
|
21
|
+
default= self.object.send(method) || Time.now
|
22
|
+
data_options= ({"mode"=>"timebox"}).merge(options)
|
23
|
+
out=%Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>)
|
24
|
+
out.html_safe
|
25
|
+
end
|
26
|
+
def date_select_thai(method, default= Time.now, disabled=false)
|
27
|
+
date_select method, :default => default, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year], :disabled=>disabled
|
28
|
+
end
|
29
|
+
def datetime_select_thai(method, default= Time.now, disabled=false)
|
30
|
+
datetime_select method, :default => default, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year], :disabled=>disabled
|
31
|
+
end
|
32
|
+
|
33
|
+
def point(o={})
|
34
|
+
o[:zoom]= 11 unless o[:zoom]
|
35
|
+
o[:width]= '100%' unless o[:width]
|
36
|
+
o[:height]= '300px' unless o[:height]
|
37
|
+
o[:lat] = 13.91819 unless o[:lat]
|
38
|
+
o[:lng] = 100.48889 unless o[:lng]
|
39
|
+
|
40
|
+
out = <<-EOT
|
41
|
+
<script type='text/javascript'>
|
42
|
+
//<![CDATA[
|
43
|
+
var latLng;
|
44
|
+
var map_#{self.object_name};
|
45
|
+
var marker_#{self.object_name};
|
46
|
+
|
47
|
+
function init_map() {
|
48
|
+
var lat = #{o[:lat]};
|
49
|
+
var lng = #{o[:lng]};
|
50
|
+
//var lat = position.coords.latitude"; // HTML5 pass position in function initialize(position)
|
51
|
+
// google.loader.ClientLocation.latitude;
|
52
|
+
//var lng = position.coords.longitude;
|
53
|
+
// google.loader.ClientLocation.longitude;
|
54
|
+
latLng = new google.maps.LatLng(lat, lng);
|
55
|
+
map_#{self.object_name} = new google.maps.Map(document.getElementById("map_#{self.object_name}"), {
|
56
|
+
zoom: #{o[:zoom]},
|
57
|
+
center: latLng,
|
58
|
+
mapTypeId: google.maps.MapTypeId.ROADMAP
|
59
|
+
});
|
60
|
+
marker_#{self.object_name} = new google.maps.Marker({
|
61
|
+
position: latLng,
|
62
|
+
map: map_#{self.object_name},
|
63
|
+
draggable: true,
|
64
|
+
});
|
65
|
+
google.maps.event.addListener(marker_#{self.object_name}, 'dragend', function(event) {
|
66
|
+
$('##{self.object_name}_lat').val(event.latLng.lat());
|
67
|
+
$('##{self.object_name}_lng').val(event.latLng.lng());
|
68
|
+
});
|
69
|
+
google.maps.event.addListener(map_#{self.object_name}, 'click', function(event) {
|
70
|
+
$('##{self.object_name}_lat').val(event.latLng.lat());
|
71
|
+
$('##{self.object_name}_lng').val(event.latLng.lng());
|
72
|
+
move();
|
73
|
+
});
|
74
|
+
$('##{self.object_name}_lat').val(lat);
|
75
|
+
$('##{self.object_name}_lng').val(lng);
|
76
|
+
};
|
77
|
+
|
78
|
+
function move() {
|
79
|
+
latLng = new google.maps.LatLng($('##{self.object_name}_lat').val(), $('##{self.object_name}_lng').val());
|
80
|
+
map_#{self.object_name}.panTo(latLng);
|
81
|
+
marker_#{self.object_name}.setPosition(latLng);
|
82
|
+
}
|
83
|
+
|
84
|
+
//google.maps.event.addDomListener(window, 'load', init_map);
|
85
|
+
|
86
|
+
//]]>
|
87
|
+
</script>
|
88
|
+
<div class="field" data-role="fieldcontain">
|
89
|
+
Latitude: #{self.text_field :lat, :style=>"width:300px;" }
|
90
|
+
Longitude: #{self.text_field :lng, :style=>"width:300px;" }
|
91
|
+
</div>
|
92
|
+
<p/>
|
93
|
+
<div id='map_#{self.object_name}' style='max-width: none !important; width:#{o[:width]}; height:#{o[:height]};' class='map'></div>
|
94
|
+
<script>
|
95
|
+
$('##{self.object_name}_lat').change(function() {move()});
|
96
|
+
$('##{self.object_name}_lng').change(function() {move()});
|
97
|
+
//var w= $("input[id*=lat]").parent().width();
|
98
|
+
//$("input[id*=lat]").css('width','300px');
|
99
|
+
//$("input[id*=lng]").css('width','300px');
|
100
|
+
$( document ).one( "pagechange", function(){
|
101
|
+
init_map();
|
102
|
+
});
|
103
|
+
</script>
|
104
|
+
EOT
|
105
|
+
out.html_safe
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
# Add method to ruby class String
|
3
|
+
# ###############################
|
4
|
+
class String
|
5
|
+
def comment?
|
6
|
+
self[0]=='#'
|
7
|
+
# self[0]==35 # check if first char is #
|
8
|
+
end
|
9
|
+
def to_code
|
10
|
+
s= self.dup
|
11
|
+
s.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
def freemind2action(s)
|
3
|
+
case s.downcase
|
4
|
+
#when 'bookmark' # Excellent
|
5
|
+
# 'call'
|
6
|
+
when 'bookmark' # Excellent
|
7
|
+
'do'
|
8
|
+
when 'attach' # Look here
|
9
|
+
'form'
|
10
|
+
when 'edit' # Refine
|
11
|
+
'pdf'
|
12
|
+
when 'wizard' # Magic
|
13
|
+
'ws'
|
14
|
+
when 'help' # Question
|
15
|
+
'if'
|
16
|
+
when 'forward' # Forward
|
17
|
+
# 'redirect'
|
18
|
+
'direct_to'
|
19
|
+
when 'kaddressbook' #Phone
|
20
|
+
'invoke' # invoke new service along the way
|
21
|
+
when 'idea' # output
|
22
|
+
'output'
|
23
|
+
when 'list' # List
|
24
|
+
'list'
|
25
|
+
when 'folder' # Folder
|
26
|
+
'folder'
|
27
|
+
when 'mail'
|
28
|
+
'mail'
|
29
|
+
# when 'xmag' # Tobe discussed
|
30
|
+
when 'To be discusssed'
|
31
|
+
'search'
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
########################################################################
|
4
|
+
# Methods to be overrided by gemhelp #
|
5
|
+
# for Rspec Test
|
6
|
+
########################################################################
|
7
|
+
def gen_view_file_exist?(dir)
|
8
|
+
File.exists?(dir)
|
9
|
+
end
|
10
|
+
|
11
|
+
def gen_view_mkdir(dir,t)
|
12
|
+
Dir.mkdir(dir)
|
13
|
+
t << "create directory #{dir}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def gen_view_createfile(s,f,t)
|
17
|
+
FileUtils.cp s,f
|
18
|
+
# FileUtils.cp "app/jinda/template/linkview.haml",f
|
19
|
+
t << "create file #{f}"
|
20
|
+
end
|
21
|
+
########################################################################
|
22
|
+
|
23
|
+
def controller_exists?(modul)
|
24
|
+
File.exists? "#{Rails.root}/app/controllers/#{modul}_controller.rb"
|
25
|
+
end
|
26
|
+
def dup_hash(a)
|
27
|
+
h = Hash.new(0)
|
28
|
+
a.each do |aa|
|
29
|
+
h[aa] += 1
|
30
|
+
end
|
31
|
+
return h
|
32
|
+
end
|
33
|
+
def login?
|
34
|
+
## To use remember me cookies then remove
|
35
|
+
#session[:user_id] != nil
|
36
|
+
current_ma_user != nil
|
37
|
+
#cookies[:auth_token] != nil
|
38
|
+
end
|
39
|
+
def own_xmain?
|
40
|
+
if $xmain
|
41
|
+
return current_ma_user.id==$xvars['user_id']
|
42
|
+
else
|
43
|
+
# if eval on first step would return true so user can start service
|
44
|
+
return true
|
45
|
+
end
|
46
|
+
end
|
47
|
+
# return nil or value of opt: if provided
|
48
|
+
def get_option_xml(opt, xml)
|
49
|
+
if xml
|
50
|
+
url=''
|
51
|
+
xml.each_element('node') do |n|
|
52
|
+
text= n.attributes['TEXT']
|
53
|
+
# check if opt match from beginning of text
|
54
|
+
url= text if text =~/^#{opt}/
|
55
|
+
end
|
56
|
+
return nil if url.blank?
|
57
|
+
c, h= url.split(':', 2)
|
58
|
+
opt= h ? h.strip : true
|
59
|
+
else
|
60
|
+
return nil
|
61
|
+
end
|
62
|
+
end
|
63
|
+
def m_icon(node)
|
64
|
+
mcons=[]
|
65
|
+
node.each_element("icon") do |mn|
|
66
|
+
mcons << mn.attributes["BUILTIN"]
|
67
|
+
end
|
68
|
+
ticon = mcons[0].to_s
|
69
|
+
return ticon
|
70
|
+
end
|
71
|
+
|
72
|
+
# Option to unlisted in the menu_mm if icon 'button_cancel'
|
73
|
+
def listed(node)
|
74
|
+
icons=[]
|
75
|
+
node.each_element("icon") do |nn|
|
76
|
+
icons << nn.attributes["BUILTIN"]
|
77
|
+
end
|
78
|
+
|
79
|
+
return !icons.include?("button_cancel")
|
80
|
+
end
|
81
|
+
def ma_secured?(node)
|
82
|
+
icons=[]
|
83
|
+
node.each_element("icon") do |nn|
|
84
|
+
icons << nn.attributes["BUILTIN"]
|
85
|
+
end
|
86
|
+
return icons.include?("password")
|
87
|
+
end
|
88
|
+
def ma_menu?
|
89
|
+
icons=[]
|
90
|
+
node.each_element("icon") do |mn|
|
91
|
+
icons << mn.attributes["BUILTIN"]
|
92
|
+
end
|
93
|
+
return icons.include?("menu")
|
94
|
+
end
|
95
|
+
|
96
|
+
def freemind2action(s)
|
97
|
+
case s.downcase
|
98
|
+
#when 'bookmark' # Excellent
|
99
|
+
# 'call'
|
100
|
+
when 'bookmark' # Excellent
|
101
|
+
'do'
|
102
|
+
when 'attach' # Look here
|
103
|
+
'form'
|
104
|
+
when 'edit' # Refine
|
105
|
+
'pdf'
|
106
|
+
when 'wizard' # Magic
|
107
|
+
'ws'
|
108
|
+
when 'help' # Question
|
109
|
+
'if'
|
110
|
+
when 'forward' # Forward
|
111
|
+
# 'redirect'
|
112
|
+
'direct_to'
|
113
|
+
when 'kaddressbook' #Phone
|
114
|
+
'invoke' # invoke new service along the way
|
115
|
+
when 'idea' # output
|
116
|
+
'output'
|
117
|
+
when 'list' # List
|
118
|
+
'list'
|
119
|
+
when 'folder' # Folder
|
120
|
+
'folder'
|
121
|
+
when 'mail'
|
122
|
+
'mail'
|
123
|
+
# when 'xmag' # Tobe discussed
|
124
|
+
when 'To be discusssed'
|
125
|
+
'search'
|
126
|
+
end
|
127
|
+
end
|
128
|
+
def affirm(s)
|
129
|
+
return s =~ /[y|yes|t|true]/i ? true : false
|
130
|
+
end
|
131
|
+
def negate(s)
|
132
|
+
return s =~ /[n|no|f|false]/i ? true : false
|
133
|
+
end
|
134
|
+
|
135
|
+
# module FormBuilder
|
136
|
+
# def date_field(method, options = {})
|
137
|
+
# default= self.object.send(method) || Date.today
|
138
|
+
# data_options= ({"mode"=>"calbox"}).merge(options)
|
139
|
+
# %Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>).html_safe
|
140
|
+
# end
|
141
|
+
# end
|