maccman-bowline 0.3.3 → 0.3.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.5
@@ -107,10 +107,12 @@
107
107
  };
108
108
 
109
109
  $(function(){
110
- $(document.body).trigger('loading.bowline');
111
- var script = $("<script />");
112
- script.attr('type', 'text/ruby');
113
- script.attr('src', '../script/init');
114
- $('head').append(script);
110
+ setTimeout(function(){
111
+ $(document.body).trigger('loading.bowline');
112
+ var script = $("<script />");
113
+ script.attr('type', 'text/ruby');
114
+ script.attr('src', '../script/init');
115
+ $('head').append(script);
116
+ }, 100);
115
117
  })
116
118
  })(jQuery)
data/bowline.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{bowline}
5
- s.version = "0.3.3"
5
+ s.version = "0.3.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Alex MacCaw"]
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  "examples/twitter.html",
33
33
  "examples/users.rb",
34
34
  "lib/bowline.rb",
35
+ "lib/bowline/async.rb",
35
36
  "lib/bowline/binders.rb",
36
37
  "lib/bowline/binders/collection.rb",
37
38
  "lib/bowline/binders/singleton.rb",
@@ -74,6 +75,7 @@ Gem::Specification.new do |s|
74
75
  "lib/bowline/tasks/log.rake",
75
76
  "lib/bowline/tasks/misc.rake",
76
77
  "lib/bowline/version.rb",
78
+ "lib/bowline/window.rb",
77
79
  "templates/Rakefile",
78
80
  "templates/binder.rb",
79
81
  "templates/config/application.yml",
@@ -0,0 +1,29 @@
1
+ module Bowline
2
+ module Async
3
+ def self.included(base)
4
+ base.extend Methods
5
+ base.send :include, Methods
6
+ class << base
7
+ extend Methods
8
+ end
9
+ end
10
+
11
+ module Methods
12
+ def async(*methods)
13
+ methods.each {|meth|
14
+ define_method("#{meth}_with_async") {|*args|
15
+ callback = nil
16
+ if(args.last.is_a?(::RubyKMethod))
17
+ callback = args.pop
18
+ end
19
+ Thread.new do
20
+ res = send("#{meth}_without_async", *args)
21
+ callback.call(res) if callback
22
+ end
23
+ }
24
+ alias_method_chain meth, :async
25
+ }
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,6 +1,6 @@
1
1
  module Bowline
2
2
  module Binders
3
- class Base
3
+ class Base
4
4
  class << self
5
5
  # See Bowline::js
6
6
  def js
@@ -22,7 +22,6 @@ tifilesystem:0.4.4
22
22
  tiplatform:0.4.4
23
23
  tiui:0.4.4
24
24
  javascript:0.4.4
25
- tianalytics:0.4.4
26
25
  ruby:0.4.4
27
26
  tidatabase:0.4.4
28
27
  tidesktop:0.4.4
@@ -2,7 +2,7 @@ module Bowline
2
2
  module Version #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 3
5
+ TINY = 5
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
 
@@ -0,0 +1,19 @@
1
+ module Bowline
2
+ class Window
3
+ def self.window
4
+ defined?(Titanium) && Titanium.UI.mainWindow.window
5
+ end
6
+
7
+ def initialize(obj = self.window)
8
+ @object = obj
9
+ end
10
+
11
+ def method_missing(*args)
12
+ Bowline.logger.info "Sending to Window: #{args.inspect}"
13
+ if defined?(Titanium)
14
+ @object = @object.send(*args)
15
+ end
16
+ self
17
+ end
18
+ end
19
+ end
data/lib/bowline.rb CHANGED
@@ -1,16 +1,9 @@
1
+ Thread.abort_on_exception = true
2
+
1
3
  module Bowline
2
4
  # The raw JavaScript window object
3
5
  def self.js
4
- if defined?($app_window)
5
- $app_window
6
- else
7
- Class.new {
8
- def self.method_missing(*a)
9
- Bowline.logger.info "Sending to Window: #{a.inspect}"
10
- self
11
- end
12
- }
13
- end
6
+ Window.new
14
7
  end
15
8
 
16
9
  # Change which page we're on
@@ -31,6 +24,8 @@ require 'bowline/ext/array'
31
24
  require 'bowline/ext/class'
32
25
  require 'bowline/ext/string'
33
26
 
27
+ require 'bowline/window'
28
+ require 'bowline/async'
34
29
  require 'bowline/helpers'
35
30
  require 'bowline/dependencies/lib/dependencies'
36
31
  require 'bowline/initializer'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maccman-bowline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex MacCaw
@@ -58,6 +58,7 @@ files:
58
58
  - examples/twitter.html
59
59
  - examples/users.rb
60
60
  - lib/bowline.rb
61
+ - lib/bowline/async.rb
61
62
  - lib/bowline/binders.rb
62
63
  - lib/bowline/binders/collection.rb
63
64
  - lib/bowline/binders/singleton.rb
@@ -100,6 +101,7 @@ files:
100
101
  - lib/bowline/tasks/log.rake
101
102
  - lib/bowline/tasks/misc.rake
102
103
  - lib/bowline/version.rb
104
+ - lib/bowline/window.rb
103
105
  - templates/Rakefile
104
106
  - templates/binder.rb
105
107
  - templates/config/application.yml