Module: Netfira::WebConnect
- Defined in:
- lib/netfira/web_connect/rack_app/action.rb,
lib/netfira/web_connect.rb,
lib/netfira/web_connect/amqp.rb,
lib/netfira/web_connect/model.rb,
lib/netfira/web_connect/events.rb,
lib/netfira/web_connect/models.rb,
lib/netfira/web_connect/schema.rb,
lib/netfira/web_connect/version.rb,
lib/netfira/web_connect/rack_app.rb,
lib/netfira/web_connect/migration.rb,
lib/netfira/web_connect/model/record.rb,
lib/netfira/web_connect/models/image.rb,
lib/netfira/web_connect/models/order.rb,
lib/netfira/web_connect/schema/table.rb,
lib/netfira/web_connect/configuration.rb,
lib/netfira/web_connect/model/support.rb,
lib/netfira/web_connect/model/relation.rb,
lib/netfira/web_connect/request_filter.rb,
lib/netfira/web_connect/components/guid.rb,
lib/netfira/web_connect/model/record/tree.rb,
lib/netfira/web_connect/models/order_line.rb,
lib/netfira/web_connect/components/checksum.rb,
lib/netfira/web_connect/model/record/events.rb,
lib/netfira/web_connect/models/support/shop.rb,
lib/netfira/web_connect/model/record/digests.rb,
lib/netfira/web_connect/models/support/table.rb,
lib/netfira/web_connect/model/record/sendable.rb,
lib/netfira/web_connect/model/record/writable.rb,
lib/netfira/web_connect/model/relation/events.rb,
lib/netfira/web_connect/migration/base_methods.rb,
lib/netfira/web_connect/model/record/relations.rb,
lib/netfira/web_connect/models/support/session.rb,
lib/netfira/web_connect/models/support/setting.rb,
lib/netfira/web_connect/model/record/serializer.rb,
lib/netfira/web_connect/model/record/file_record.rb,
lib/netfira/web_connect/model/record/translation.rb,
lib/netfira/web_connect/components/hash_of_models.rb,
lib/netfira/web_connect/model/record/translations.rb,
lib/netfira/web_connect/model/record/materialization.rb,
lib/netfira/web_connect/models/support/shop/settings.rb,
lib/netfira/web_connect/model/record/translated_string.rb,
lib/netfira/web_connect/rack_app/actions/version_8/fetch.rb,
lib/netfira/web_connect/rack_app/action_helpers/send_file.rb,
lib/netfira/web_connect/rack_app/action_helpers/data_types.rb,
lib/netfira/web_connect/rack_app/actions/version_8/confirm.rb,
lib/netfira/web_connect/rack_app/actions/version_8/records.rb,
lib/netfira/web_connect/rack_app/action_helpers/env_methods.rb,
lib/netfira/web_connect/rack_app/action_helpers/env_importer.rb,
lib/netfira/web_connect/rack_app/actions/version_8/commit/records.rb
Overview
Defined Under Namespace
Modules: AMQP, Models
Classes: Checksum, Configuration, Guid, HashOfModels, Migration, Model, OctaWord, RackApp, RequestFilter, Schema
Constant Summary
collapse
- ROOT =
Pathname(__FILE__).parent
- VERSION =
'0.4.17'
- PLATFORM_AND_VERSION =
'Rack/' << VERSION
Class Method Summary
collapse
Class Method Details
.amqp_uri ⇒ Object
77
78
79
|
# File 'lib/netfira/web_connect.rb', line 77
def self.amqp_uri
@config.amqp
end
|
.anonymous_shop ⇒ Object
57
58
59
|
# File 'lib/netfira/web_connect.rb', line 57
def self.anonymous_shop
@anonymous_shop ||= Models::Shop.find(0)
end
|
.authenticator ⇒ Object
53
54
55
|
# File 'lib/netfira/web_connect.rb', line 53
def self.authenticator
@config.authenticator
end
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/netfira/web_connect.rb', line 12
def self.configure(input = nil, **options)
if Hash === input
@config = Configuration.new(input)
elsif String === input
@config = Configuration.new(YAML.parse input)
elsif input.respond_to? :read
@config = Configuration.new(YAML.parse_stream input)
elsif input.nil?
@config ||= Configuration.new
else
raise "You cannot configure WebConnect with an instance of #{input.class}"
end
@config.materialize_when_db_changed = !options[:skip_materialization]
yield @config if block_given?
Paperclip::Attachment.default_options[:preserve_files] = paranoia?
end
|
.db_table_l10n_suffix(table_name = '') ⇒ Object
33
34
35
|
# File 'lib/netfira/web_connect.rb', line 33
def self.db_table_l10n_suffix(table_name = '')
:"#{table_name}_l10n"
end
|
.db_table_prefix(string = '') ⇒ Object
29
30
31
|
# File 'lib/netfira/web_connect.rb', line 29
def self.db_table_prefix(string = '')
[@config.db_table_prefix, string].join.to_sym
end
|
.dispatch_event(timing, event, *args) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/netfira/web_connect/events.rb', line 7
def self.dispatch_event(timing, event, *args)
return timing.each{ |t| dispatch_event(t, event, *args) { yield } } if timing.respond_to? :each
target = :"#{timing}_#{event}"
delegates = event_delegates.select { |d| d.respond_to? target }
if timing == :around
chain_runner = -> do
delegate = delegates.shift
if delegate
delegate.__send__ target, *args, &chain_runner
else
yield
end
end
chain_runner.call
else
delegates.map { |d| d.__send__ target, *args }
end
end
|
.event_delegates ⇒ Object
3
4
5
|
# File 'lib/netfira/web_connect/events.rb', line 3
def self.event_delegates
@event_delegates ||= []
end
|
.file_store ⇒ Object
49
50
51
|
# File 'lib/netfira/web_connect.rb', line 49
def self.file_store
@config.file_store || {}
end
|
.handles_event?(event) ⇒ Boolean
34
35
36
37
|
# File 'lib/netfira/web_connect/events.rb', line 34
def self.handles_event?(event)
target = :"on_#{event}"
!!event_delegates.find { |x| x.respond_to? target }
end
|
.http_notifications ⇒ Object
73
74
75
|
# File 'lib/netfira/web_connect.rb', line 73
def self.http_notifications
@config.http_notifications || :none
end
|
.logger ⇒ Object
41
42
43
|
# File 'lib/netfira/web_connect.rb', line 41
def self.logger
@config.logger || null_logger
end
|
.migrate ⇒ Object
3
4
5
|
# File 'lib/netfira/web_connect/migration/base_methods.rb', line 3
def self.migrate
force_db_connection { ActiveRecord::Migrator.migrate migrations_dir }
end
|
.needs_migration? ⇒ Boolean
11
12
13
14
15
16
17
|
# File 'lib/netfira/web_connect/migration/base_methods.rb', line 11
def self.needs_migration?
original = ActiveRecord::Migrator.migrations_paths
ActiveRecord::Migrator.migrations_paths = [migrations_dir]
result = force_db_connection { ActiveRecord::Migrator.needs_migration? }
ActiveRecord::Migrator.migrations_paths = original
result
end
|
.paranoia? ⇒ Boolean
69
70
71
|
# File 'lib/netfira/web_connect.rb', line 69
def self.paranoia?
!!@config.paranoia
end
|
.rollback ⇒ Object
7
8
9
|
# File 'lib/netfira/web_connect/migration/base_methods.rb', line 7
def self.rollback
force_db_connection { ActiveRecord::Migrator.rollback migrations_dir }
end
|
.schema ⇒ Object
61
62
63
|
# File 'lib/netfira/web_connect.rb', line 61
def self.schema
@schema ||= Schema.new if @config
end
|
.schema_migrations_table_name ⇒ Object
37
38
39
|
# File 'lib/netfira/web_connect.rb', line 37
def self.schema_migrations_table_name
db_table_prefix('schema_migrations').to_s
end
|
.session_lifetime ⇒ Object
65
66
67
|
# File 'lib/netfira/web_connect.rb', line 65
def self.session_lifetime
@config.session_lifetime
end
|
.system_locale ⇒ Object
45
46
47
|
# File 'lib/netfira/web_connect.rb', line 45
def self.system_locale
@system_locale ||= Locale.current.to_simple.to_s
end
|