Module: Avrolution
- Defined in:
- lib/avrolution.rb,
lib/avrolution/railtie.rb,
lib/avrolution/version.rb,
lib/avrolution/configuration.rb,
lib/avrolution/rake/base_task.rb,
lib/avrolution/discover_schemas.rb,
lib/avrolution/register_schemas.rb,
lib/avrolution/compatibility_break.rb,
lib/avrolution/compatibility_check.rb,
lib/avrolution/compatibility_breaks_file.rb,
lib/avrolution/rake/register_schemas_task.rb,
lib/generators/avrolution/install_generator.rb,
lib/avrolution/rake/check_compatibility_task.rb,
lib/avrolution/rake/register_all_schemas_task.rb,
lib/avrolution/rake/add_compatibility_break_task.rb
Defined Under Namespace
Modules: CompatibilityBreaksFile, Rake
Classes: CompatibilityBreak, CompatibilityCheck, DiscoverSchemas, InstallGenerator, PassthruLogger, Railtie, RegisterSchemas
Constant Summary
collapse
- VERSION =
'0.9.0'
- COMPATIBILITY =
'compatibility'
- DEPLOYMENT =
'deployment'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.compatibility_breaks_file ⇒ Object
51
52
53
|
# File 'lib/avrolution/configuration.rb', line 51
def self.compatibility_breaks_file
@compatibility_breaks_file ||= "#{root}/avro_compatibility_breaks.txt"
end
|
.compatibility_schema_registry_url ⇒ Object
55
56
57
|
# File 'lib/avrolution/configuration.rb', line 55
def self.compatibility_schema_registry_url
fetch_url(COMPATIBILITY)
end
|
.deployment_schema_registry_url ⇒ Object
59
60
61
|
# File 'lib/avrolution/configuration.rb', line 59
def self.deployment_schema_registry_url
fetch_url(DEPLOYMENT)
end
|
.logger ⇒ Object
Returns the value of attribute logger.
25
26
27
|
# File 'lib/avrolution/configuration.rb', line 25
def logger
@logger
end
|
.root ⇒ Object
47
48
49
|
# File 'lib/avrolution/configuration.rb', line 47
def self.root
@root || raise('root must be set')
end
|
Class Method Details
63
64
65
|
# File 'lib/avrolution/configuration.rb', line 63
def self.configure
yield self
end
|
.fetch_url(label) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/avrolution/configuration.rb', line 27
def fetch_url(label)
env_name = "#{label.upcase}_SCHEMA_REGISTRY_URL"
ivar_name = "@#{env_name.downcase}"
env_value = ENV[env_name]
result = if env_value
env_value
elsif instance_variable_get(ivar_name)
ivar_value = instance_variable_get(ivar_name)
ivar_value = instance_variable_set(ivar_name, ivar_value.call) if ivar_value.is_a?(Proc)
ivar_value
end
raise "#{env_name.downcase} must be set" if result.blank?
result
end
|