hasu 0.0.10 → 0.1.0

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDBiNTJiNDE3ODQxNWU4OWIwZTkxYjVmN2Y0ZjRlMTk0Y2FiZGNiNw==
5
- data.tar.gz: !binary |-
6
- ZWFlMmE4ZDA3MTQxYjRiYmY1MDIzMWVkNDhkMjZkNjMyZGZjNDExZg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- Yjk1ZjgxNjc1ZGQ4YWE5M2YzMmMzODVjY2E4NjQ0YjdkODRlYjY5NzFlYjdj
10
- ZGYyYzVkNzJhMjE0ODdjMmVhNjUyN2Q0M2I2YTc4OWMwN2ZlY2YzNThiMzM0
11
- ZDk4YzIxNDZkMzA3NGI2NzljYmY0MjdmNWU0MzhiMzBmMWNiMjI=
12
- data.tar.gz: !binary |-
13
- N2U0ZWM5MjUzN2JhYjI2NzU0NmNmYzM2MmUwZjM1NGYzOWQ4MGVmMmM0NjE3
14
- NzZlYjBhYmJkMmE0ZWYxOGE5MzdlYmY3NTdmODdiODM4ZDIzMGQwNzgyMjdh
15
- YzlmZWExOWIwOTU1OWZlZTg0YzRmZWI5ZWE4YTMyZWNkOWNjNjk=
2
+ SHA1:
3
+ metadata.gz: 35249a856464e8809000bde2e9b4dd28eb07510e
4
+ data.tar.gz: fe2f1e7999dabc8b5670d9b5a3ca721aa30c7503
5
+ SHA512:
6
+ metadata.gz: b9171e603e8c43e26d45fcdcd750b10894a3a2da3364c4da580940f407aaf9cd49d6462df57353c4d6a785a79b3d075407ef513dbcc9f4057c89895cebe7d51b
7
+ data.tar.gz: 662909799dd4357f76e3f71344c2624053d272a2fa12606a512fd3fa5f9e12cd822ddf8f5b33c808f2c4b2459296bd70a282a4d049eeeb4f08995972c41ba1ff
data/hasu.gemspec CHANGED
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_dependency "gosu"
22
+
21
23
  spec.add_development_dependency "bundler", "~> 1.3"
22
24
  spec.add_development_dependency "rake"
23
25
  end
data/lib/hasu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hasu
2
- VERSION = "0.0.10"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,70 @@
1
+ class Hasu::Window < Gosu::Window
2
+ def self.inherited(other)
3
+ includer = caller.first.split(":").first
4
+ Hasu.reloads[includer] = File.mtime(includer)
5
+ end
6
+
7
+ def self.run
8
+ unless @running
9
+ @running = true
10
+ new.show
11
+ end
12
+ end
13
+
14
+ def initialize(*)
15
+ super
16
+ reset
17
+ end
18
+
19
+ def update(*)
20
+ if Hasu.reload!
21
+ Hasu.error = nil
22
+ end
23
+ unless Hasu.error
24
+ super
25
+ end
26
+ rescue => e
27
+ Hasu.error = e
28
+ end
29
+
30
+ def reset
31
+ super if defined?(super)
32
+ Hasu.error = nil
33
+ rescue => e
34
+ Hasu.error = e
35
+ end
36
+
37
+ def draw(*)
38
+ if Hasu.error
39
+ ([Hasu.error.inspect] + Hasu.error.backtrace).each_with_index do |line, i|
40
+ _hasu_font.draw(line.gsub("\n",''), 10, 10 + i * 16, 0)
41
+ end
42
+ else
43
+ begin
44
+ super
45
+ rescue => e
46
+ Hasu.error = e
47
+ draw
48
+ end
49
+ end
50
+ end
51
+
52
+ def _hasu_font
53
+ @_hasu_font ||= Gosu::Font.new(self, Gosu::default_font_name, 16)
54
+ end
55
+
56
+ def button_down(id)
57
+ case id
58
+ when Gosu::KbEscape
59
+ close
60
+ when Gosu::Window.char_to_button_id('r')
61
+ reset
62
+ else
63
+ begin
64
+ super(id)
65
+ rescue => e
66
+ Hasu.error = e
67
+ end
68
+ end
69
+ end
70
+ end
data/lib/hasu.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "hasu/version"
2
+ require "hasu/window"
2
3
 
3
4
  module Hasu
4
5
  def self.reloads
@@ -29,13 +30,6 @@ module Hasu
29
30
  end
30
31
  end
31
32
 
32
- def self.run(window)
33
- unless @running
34
- @running = true
35
- window.new.show
36
- end
37
- end
38
-
39
33
  def self.reload!
40
34
  to_reload = reloads.select{|f,t| File.exists?(f) && File.mtime(f) > t}
41
35
 
@@ -44,66 +38,4 @@ module Hasu
44
38
  load(file)
45
39
  end
46
40
  end
47
-
48
- def self.prepended(other)
49
- includer = caller.first.split(":").first
50
- reloads[includer] = File.mtime(includer)
51
- end
52
-
53
- def initialize(*)
54
- super
55
- reset
56
- end
57
-
58
- def update(*)
59
- if Hasu.reload!
60
- Hasu.error = nil
61
- end
62
- unless Hasu.error
63
- super
64
- end
65
- rescue => e
66
- Hasu.error = e
67
- end
68
-
69
- def reset
70
- super if defined?(super)
71
- Hasu.error = nil
72
- rescue => e
73
- Hasu.error = e
74
- end
75
-
76
- def draw(*)
77
- if Hasu.error
78
- ([Hasu.error.inspect] + Hasu.error.backtrace).each_with_index do |line, i|
79
- _hasu_font.draw(line.gsub("\n",''), 10, 10 + i * 16, 0)
80
- end
81
- else
82
- begin
83
- super
84
- rescue => e
85
- Hasu.error = e
86
- draw
87
- end
88
- end
89
- end
90
-
91
- def _hasu_font
92
- @_hasu_font ||= Gosu::Font.new(self, Gosu::default_font_name, 16)
93
- end
94
-
95
- def button_down(id)
96
- case id
97
- when Gosu::KbEscape
98
- close
99
- when Gosu::Window.char_to_button_id('r')
100
- reset
101
- else
102
- begin
103
- super(id)
104
- rescue => e
105
- Hasu.error = e
106
- end
107
- end
108
- end
109
41
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hasu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Fairley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-28 00:00:00.000000000 Z
11
+ date: 2013-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gosu
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -28,14 +42,14 @@ dependencies:
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ! '>='
45
+ - - '>='
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ! '>='
52
+ - - '>='
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  description: Prototype Gosu games with ease
@@ -55,6 +69,7 @@ files:
55
69
  - hasu.gemspec
56
70
  - lib/hasu.rb
57
71
  - lib/hasu/version.rb
72
+ - lib/hasu/window.rb
58
73
  homepage: https://github.com/michaelfairley/hasu
59
74
  licenses:
60
75
  - MIT
@@ -65,19 +80,18 @@ require_paths:
65
80
  - lib
66
81
  required_ruby_version: !ruby/object:Gem::Requirement
67
82
  requirements:
68
- - - ! '>='
83
+ - - '>='
69
84
  - !ruby/object:Gem::Version
70
85
  version: '0'
71
86
  required_rubygems_version: !ruby/object:Gem::Requirement
72
87
  requirements:
73
- - - ! '>='
88
+ - - '>='
74
89
  - !ruby/object:Gem::Version
75
90
  version: '0'
76
91
  requirements: []
77
92
  rubyforge_project:
78
- rubygems_version: 2.0.5
93
+ rubygems_version: 2.0.3
79
94
  signing_key:
80
95
  specification_version: 4
81
96
  summary: Prototype Gosu games with ease
82
97
  test_files: []
83
- has_rdoc: