gamefic-sdk 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61acd296a500629ea97c6e31db00b4c966aa975d
4
- data.tar.gz: cbe43ae8d137c1708f7a65c008230f534bf1a3d6
3
+ metadata.gz: 9c0f125ab1ce21b53aad57448dc6cec8bbbd0026
4
+ data.tar.gz: adbf7e761ad6e8be82b8151d58fe5aca7e80aeae
5
5
  SHA512:
6
- metadata.gz: 1ed83278eacd87d0582a3f0bf9cd8097b9b9425a1f2f4b6ace6514bd9c6873cfeff95d33987307fd8944c3b46f5a05df9481d57ee876107b11064674398e29f1
7
- data.tar.gz: 250a6098b55a035e05141758ee2115a72afacb1ae6342b7f91fbfbecd1d2ffec5611ed6e2480caa1fab43a642bb8c77a3b0f245a10d0b5b6e1acda0e12f3f582
6
+ metadata.gz: 37125ae82a687f340871cb9516ae47e82472fdf0162b17401c688e67c46dcc70bbaaf0370d29991e7bae1e7dcbdd866ea6e357d51ae8bf9aaf3f0725e1bf8635
7
+ data.tar.gz: 5e0da62f2011f16283235fc7d66be7e0c9344780eb8b67ff309b2eca6d65cd5933562fae5f1ac8e3aad900aba4950f4465a8d45673b8172bdf7fac86a0fb4d28
@@ -1,10 +1,4 @@
1
- javascripts.push "core/opal.js"
2
- javascripts.push "core/gamefic.js"
3
- javascripts.push "core/static.js"
4
- javascripts.push "core/scripts.js"
5
- javascripts.push "core/engine.js"
6
1
  javascripts.push "core/jquery.js"
7
-
8
2
  javascripts.push "play.js"
9
3
 
10
4
  stylesheets.push "style.css"
@@ -0,0 +1,4 @@
1
+ javascripts.push "core/jquery.js"
2
+ javascripts.push "play.js"
3
+
4
+ stylesheets.push "style.css"
@@ -66,7 +66,7 @@ module Gamefic::Sdk
66
66
  imports = []
67
67
  opts = GetoptLong.new(
68
68
  [ '-q', '--quiet', GetoptLong::NO_ARGUMENT ],
69
- [ '--with-html', GetoptLong::REQUIRED_ARGUMENT ],
69
+ [ '--with-html-skin', GetoptLong::OPTIONAL_ARGUMENT ],
70
70
  [ '-i', '--import', GetoptLong::REQUIRED_ARGUMENT ]
71
71
  )
72
72
  begin
@@ -74,8 +74,8 @@ module Gamefic::Sdk
74
74
  case opt
75
75
  when '-q'
76
76
  quiet = true
77
- when '--with-html'
78
- html = arg
77
+ when '--with-html-skin'
78
+ html = arg || 'standard'
79
79
  when '-i'
80
80
  imports = arg.split(';')
81
81
  end
@@ -139,7 +139,6 @@ EOS
139
139
  config_rb.close
140
140
  Dir.mkdir(directory + '/html')
141
141
  if !html.nil?
142
- FileUtils.cp_r(Dir[Gamefic::Sdk::HTML_TEMPLATE_PATH + "/core/*"], directory + "/html")
143
142
  FileUtils.cp_r(Dir[Gamefic::Sdk::HTML_TEMPLATE_PATH + "/skins/" + html + "/*"], directory + "/html")
144
143
  end
145
144
  uuid = SecureRandom.uuid
@@ -9,24 +9,24 @@ module Gamefic::Sdk
9
9
 
10
10
  def defaults
11
11
  @defaults ||= {
12
- :html_skin => 'multimedia',
13
- :with_media => true
12
+ 'html_skin' => 'standard',
13
+ 'with_media' => true
14
14
  }
15
15
  end
16
16
 
17
17
  def build
18
18
  target_dir = config['target_dir']
19
- # TODO Configurable build folder?
20
19
  build_dir = config['build_dir']
21
- html_dir = resolve_html_dir
22
- app_config = AppConfig.new html_dir
20
+ app_config = AppConfig.new source_dir, config
21
+ html_dir = app_config.html_dir
23
22
 
23
+
24
24
  FileUtils.mkdir_p target_dir
25
25
 
26
26
  # Copy everything in source except config and template
27
27
  Dir.entries(html_dir).each { |entry|
28
28
  if entry != 'config.rb' and entry != 'index.html.erb' and entry != '.' and entry != '..'
29
- FileUtils.mkdir_p target_dir + File.dirname(entry)
29
+ FileUtils.mkdir_p target_dir + '/' + File.dirname(entry)
30
30
  FileUtils.cp_r "#{html_dir}/#{entry}", "#{target_dir}/#{entry}"
31
31
  end
32
32
  }
@@ -112,19 +112,6 @@ module Gamefic::Sdk
112
112
  absolute
113
113
  end
114
114
 
115
- def resolve_html_dir
116
- html_dir = "#{source_dir}/html"
117
- if !File.directory?(html_dir) and config['html_skin'].to_s != ''
118
- html_dir = "#{Gamefic::Sdk::HTML_TEMPLATE_PATH}/skins/#{config['html_skin']}"
119
- end
120
- if !File.directory?(html_dir)
121
- html_dir = "#{Gamefic::Sdk::HTML_TEMPLATE_PATH}/skins/minimal"
122
- end
123
- if !File.directory?(html_dir)
124
- raise "Could not resolve HTML directory"
125
- end
126
- html_dir
127
- end
128
115
  end
129
116
 
130
117
  end
@@ -3,36 +3,59 @@ require 'gamefic/stage'
3
3
 
4
4
  class Gamefic::Sdk::Platform::Web::AppConfig
5
5
  include Stage
6
- attr_reader :javascripts, :stylesheets, :resource_paths
6
+ attr_reader :javascripts, :stylesheets, :resource_paths, :source_dir, :config, :html_dir
7
7
  expose :javascripts, :stylesheets, :resource_paths
8
8
 
9
9
  # @param main_dir [String] The directory containing the resources (config file, HTML template, etc.) for this build
10
- def initialize source_dir
10
+ def initialize source_dir, config
11
11
  @javascripts = []
12
12
  @stylesheets = []
13
13
  @source_dir = source_dir
14
- @resource_paths = ["#{source_dir}", Gamefic::Sdk::HTML_TEMPLATE_PATH]
15
- config_file = "#{source_dir}/config.rb"
14
+ @config = config
15
+ @html_dir = resolve_html_dir
16
+ @game_config = PlotConfig.new("#{source_dir}/config.yaml")
17
+ @resource_paths = ["#{html_dir}", Gamefic::Sdk::HTML_TEMPLATE_PATH]
18
+ config_file = "#{html_dir}/config.rb"
16
19
  stage File.read(config_file), config_file
20
+ javascripts.push "core/opal.js", "core/gamefic.js", "core/static.js", "core/scripts.js", "core/engine.js"
17
21
  end
18
22
 
19
23
  # @return [BuildConfig::Data]
20
24
  def data
21
- Data.new @javascripts, @stylesheets
25
+ Data.new @game_config, @javascripts, @stylesheets
22
26
  end
23
27
 
24
28
  # Render HTML using the build config data
25
29
  #
26
30
  # @return [String] The resulting HTML
27
31
  def render
28
- erb = ERB.new(File.read(@source_dir + "/index.html.erb"))
32
+ erb = ERB.new(File.read(html_dir + "/index.html.erb"))
29
33
  erb.result data.get_binding
30
34
  end
35
+
36
+ private
37
+
38
+ def resolve_html_dir
39
+ dir = "#{source_dir}/html"
40
+ if !File.directory?(dir) and config['html_skin'].to_s != ''
41
+ dir = "#{Gamefic::Sdk::HTML_TEMPLATE_PATH}/skins/#{config['html_skin']}"
42
+ end
43
+ if !File.directory?(dir)
44
+ dir = "#{Gamefic::Sdk::HTML_TEMPLATE_PATH}/skins/minimal"
45
+ end
46
+ if !File.directory?(dir)
47
+ raise "Could not resolve HTML directory"
48
+ end
49
+ dir
50
+ end
51
+
31
52
  end
32
53
 
33
54
  class Gamefic::Sdk::Platform::Web::AppConfig::Data
34
- attr_reader :javascripts, :stylesheets
35
- def initialize javascripts, stylesheets
55
+ attr_reader :author, :title, :javascripts, :stylesheets
56
+ def initialize config, javascripts, stylesheets
57
+ @author = config.author
58
+ @title = config.title
36
59
  @javascripts = javascripts
37
60
  @stylesheets = stylesheets
38
61
  end
@@ -1,5 +1,5 @@
1
1
  module Gamefic
2
2
  module Sdk
3
- VERSION = '0.3.0'
3
+ VERSION = '0.3.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamefic-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-16 00:00:00.000000000 Z
11
+ date: 2016-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gamefic
@@ -73,6 +73,7 @@ files:
73
73
  - lib/gamefic-sdk/build.rb
74
74
  - lib/gamefic-sdk/gfk.rb
75
75
  - lib/gamefic-sdk/platform.rb
76
+ - html/skins/standard/config.rb
76
77
  - html/skins/minimal/config.rb
77
78
  - bin/gfk
78
79
  homepage: http://gamefic.com