metro 0.1.4 → 0.1.5
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.
- data/changelog.md +9 -0
- data/lib/commands/generate_model.rb +2 -2
- data/lib/commands/generate_scene.rb +2 -2
- data/lib/commands/generate_view.rb +1 -1
- data/lib/gosu_ext/color.rb +16 -2
- data/lib/metro.rb +50 -10
- data/lib/metro/events/event_data.rb +61 -0
- data/lib/metro/events/event_relay.rb +10 -3
- data/lib/metro/events/hit_list.rb +77 -0
- data/lib/metro/models/draws.rb +6 -1
- data/lib/metro/models/grid_drawer.rb +57 -0
- data/lib/metro/models/image.rb +18 -2
- data/lib/metro/models/label.rb +22 -6
- data/lib/metro/models/menu.rb +20 -0
- data/lib/metro/models/model.rb +47 -6
- data/lib/metro/models/model_factory.rb +2 -2
- data/lib/metro/models/rectangle_bounds.rb +28 -0
- data/lib/metro/scene.rb +46 -11
- data/lib/metro/scenes.rb +10 -9
- data/lib/metro/transitions/edit_transition_scene.rb +73 -0
- data/lib/metro/transitions/scene_transitions.rb +8 -2
- data/lib/metro/transitions/transition_scene.rb +2 -1
- data/lib/metro/version.rb +1 -1
- data/lib/metro/views/json_view.rb +60 -0
- data/lib/metro/{scene_view → views}/no_view.rb +12 -4
- data/lib/metro/views/parsers.rb +26 -0
- data/lib/metro/views/scene_view.rb +107 -0
- data/lib/metro/views/view.rb +125 -0
- data/lib/metro/views/writers.rb +28 -0
- data/lib/metro/views/yaml_view.rb +94 -0
- data/lib/metro/window.rb +19 -0
- data/metro.gemspec +1 -0
- data/spec/core_ext/string_spec.rb +13 -13
- data/spec/metro/scene_spec.rb +15 -0
- data/spec/metro/scene_views/json_view_spec.rb +27 -0
- data/spec/metro/scene_views/yaml_view_spec.rb +1 -1
- data/spec/metro/views/view_spec.rb +53 -0
- metadata +41 -11
- data/lib/core_ext/string.rb +0 -15
- data/lib/metro/scene_view/json_view.rb +0 -41
- data/lib/metro/scene_view/scene_view.rb +0 -83
- data/lib/metro/scene_view/yaml_view.rb +0 -45
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
module Metro
|
4
|
-
module SceneView
|
5
|
-
|
6
|
-
class YAMLView
|
7
|
-
|
8
|
-
#
|
9
|
-
# Determine if a view exists for this specified format
|
10
|
-
#
|
11
|
-
# @param [String] view_name the name of the view to find
|
12
|
-
# @return a true if the yaml view exists and false if it does not exist.
|
13
|
-
#
|
14
|
-
def self.exists?(view_name)
|
15
|
-
yaml_view_names(view_name).find { |view_name| File.exists? view_name }
|
16
|
-
end
|
17
|
-
|
18
|
-
#
|
19
|
-
# Parse the contents of the view given the name.
|
20
|
-
#
|
21
|
-
# @param [String] view_name the name of the view to read
|
22
|
-
# @return a Hash that contains the contents of the view.
|
23
|
-
#
|
24
|
-
def self.parse(view_name)
|
25
|
-
YAML.load File.read yaml_view_name(view_name)
|
26
|
-
end
|
27
|
-
|
28
|
-
#
|
29
|
-
# A helper method to get the view file.
|
30
|
-
#
|
31
|
-
def self.yaml_view_name(view_name)
|
32
|
-
yaml_view_names(view_name).find { |view_name| File.exists? view_name }
|
33
|
-
end
|
34
|
-
|
35
|
-
#
|
36
|
-
# A helper method to generate the name of the yaml view file. In this case
|
37
|
-
# it is the view name with the suffix `.yaml` or `.yml`.
|
38
|
-
#
|
39
|
-
def self.yaml_view_names(view_name)
|
40
|
-
File.extname(view_name) == "" ? [ "#{view_name}.yaml", "#{view_name}.yml" ] : [ view_name ]
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
end
|