Class: Tzispa::Commands::Repository
- Inherits:
-
Object
- Object
- Tzispa::Commands::Repository
show all
- Includes:
- Helpers::Repository
- Defined in:
- lib/tzispa/commands/repository.rb
Constant Summary
Helpers::Repository::ENTITY_TEMPLATE, Helpers::Repository::MODEL_TEMPLATE, Helpers::Repository::REPO_STRUCTURE
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name, adapter, dbconn) ⇒ Repository
Returns a new instance of Repository.
14
15
16
17
18
|
# File 'lib/tzispa/commands/repository.rb', line 14
def initialize(name, adapter, dbconn)
@name = name
@adapter = adapter
@database = dbconn
end
|
Instance Attribute Details
#adapter ⇒ Object
Returns the value of attribute adapter.
12
13
14
|
# File 'lib/tzispa/commands/repository.rb', line 12
def adapter
@adapter
end
|
#database ⇒ Object
Returns the value of attribute database.
12
13
14
|
# File 'lib/tzispa/commands/repository.rb', line 12
def database
@database
end
|
#name ⇒ Object
Returns the value of attribute name.
12
13
14
|
# File 'lib/tzispa/commands/repository.rb', line 12
def name
@name
end
|
Instance Method Details
#entity_file(name) ⇒ Object
60
61
62
|
# File 'lib/tzispa/commands/repository.rb', line 60
def entity_file(name)
"#{repo_root}/entity/#{name}.rb"
end
|
#generate ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/tzispa/commands/repository.rb', line 20
def generate
return unless generate_structure
Tzispa::Config::DbConfig.add_repository(name, adapter, database)
return unless (db = Sequel.connect "#{adapter}://#{database}")
tables = db.tables
generate_models tables
generate_entities tables
end
|
#generate_entities(tables) ⇒ Object
45
46
47
48
49
50
|
# File 'lib/tzispa/commands/repository.rb', line 45
def generate_entities(tables)
tables.each do |tc|
entity_src = format(ENTITY_TEMPLATE, name.capitalize, tc.capitalize)
File.open(entity_file(tc), 'w') { |f| f << entity_src }
end
end
|
#generate_models(tables) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/tzispa/commands/repository.rb', line 38
def generate_models(tables)
tables.each do |tc|
model_src = format(MODEL_TEMPLATE, name.capitalize, tc.capitalize, tc)
File.open(model_file(tc), 'w') { |f| f << model_src }
end
end
|
#generate_structure ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'lib/tzispa/commands/repository.rb', line 29
def generate_structure
return if File.exist? repo_root
Dir.mkdir repo_root
REPO_STRUCTURE.each do |psdir|
Dir.mkdir "#{repo_root}/#{psdir}"
File.open("#{repo_root}/#{psdir}/.gitkeep", 'w')
end
end
|
#model_file(name) ⇒ Object
56
57
58
|
# File 'lib/tzispa/commands/repository.rb', line 56
def model_file(name)
"#{repo_root}/model/#{name}.rb"
end
|
#repo_root ⇒ Object
52
53
54
|
# File 'lib/tzispa/commands/repository.rb', line 52
def repo_root
@repo_root ||= File.join('repository', name)
end
|