motion.h 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.md +14 -2
  2. data/lib/motion.h.rb +20 -3
  3. data/motion.h.gemspec +1 -1
  4. metadata +15 -9
  5. checksums.yaml +0 -7
data/README.md CHANGED
@@ -49,8 +49,20 @@ end
49
49
  Example: Creating an in-memory database:
50
50
 
51
51
  ```ruby
52
- db = Pointer.new(Sqlite3.type)
53
- sqlite3_open(':memory', db)
52
+ dbptr_out = Pointer.new(Sqlite3.type) # => sqlite3 **
53
+ sqlite3_open(':memory:', dbptr_out)
54
+ dbptr = dbptr_out.value # => sqlite3 *
55
+ sqlite3_exec(dbptr, 'create table gems (name text)', nil, nil, nil)
56
+ sqlite3_exec(dbptr, 'insert into gems values ("motion.h")', nil, nil, nil)
57
+ callback = ->(_context, count, values_array_ptr, column_names_array_ptr) {
58
+ count.times do |column_number|
59
+ column_name = column_names_array_ptr[column_number]
60
+ value = values_array_ptr[column_number]
61
+ puts "#{column_name}: #{value.inspect}"
62
+ end
63
+ 0 # sqlite3_exec requires 0 to continue
64
+ }
65
+ sqlite3_exec(dbptr, 'select * from gems', callback, nil, nil)
54
66
  ```
55
67
 
56
68
  ### Objective-C Runtime
@@ -42,16 +42,30 @@ class MotionHeader
42
42
  def generate_bridgesupport_file
43
43
  return if File.exist?(bridgesupport_file)
44
44
  Dir.mkdir(@bridgesupport_dir) unless Dir.exist?(@bridgesupport_dir)
45
- `/usr/bin/gen_bridge_metadata --format complete --no-64-bit --cflags '-I#{include_path}' #{@header_file} > #{bridgesupport_file}`
45
+ flag = begin
46
+ case platform
47
+ when :ios
48
+ "--no-64-bit"
49
+ when :osx
50
+ "--64-bit"
51
+ end
52
+ end
53
+ `/usr/bin/gen_bridge_metadata --format complete #{flag} --cflags '-I#{include_path}' #{@header_file} > #{bridgesupport_file}`
46
54
  end
47
55
 
48
56
  def include_path
49
- path_components = [@config.xcode_dir, *sdk_dir(@config.sdk_version), 'usr', 'include', @prefix].compact
57
+ sdk_dir = sdk_dir(@config.sdk_version)
58
+ path_components = [@config.xcode_dir, *sdk_dir, 'usr', 'include', @prefix].compact
50
59
  File.join(*path_components)
51
60
  end
52
61
 
53
62
  def sdk_dir(sdk_version)
54
- ['Platforms', 'iPhoneOS.platform', 'Developer', 'SDKs', "iPhoneOS#{sdk_version}.sdk"]
63
+ case platform
64
+ when :ios
65
+ ['Platforms', 'iPhoneOS.platform', 'Developer', 'SDKs', "iPhoneOS#{sdk_version}.sdk"]
66
+ when :osx
67
+ ['Platforms', 'MacOSX.platform', 'Developer', 'SDKs', "MacOSX#{sdk_version}.sdk"]
68
+ end
55
69
  end
56
70
 
57
71
  def bridgesupport_file
@@ -59,4 +73,7 @@ class MotionHeader
59
73
  "#{@bridgesupport_dir}/#{file_name}.bridgesupport"
60
74
  end
61
75
 
76
+ def platform
77
+ Motion::Project::App.respond_to?(:template) ? Motion::Project::App.template : :ios
78
+ end
62
79
  end
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "motion.h"
4
- spec.version = '0.0.2'
4
+ spec.version = '0.0.3'
5
5
  spec.authors = ["Dave Lee"]
6
6
  spec.email = ['dave@kastiglione.com']
7
7
  spec.description = 'Expose iOS system C libraries in RubyMotion'
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion.h
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Dave Lee
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-04-11 00:00:00.000000000 Z
12
+ date: 2013-07-25 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,15 +30,17 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  description: Expose iOS system C libraries in RubyMotion
@@ -55,26 +60,27 @@ files:
55
60
  homepage: https://github.com/kastiglione/motion.h
56
61
  licenses:
57
62
  - MIT
58
- metadata: {}
59
63
  post_install_message:
60
64
  rdoc_options: []
61
65
  require_paths:
62
66
  - lib
63
67
  required_ruby_version: !ruby/object:Gem::Requirement
68
+ none: false
64
69
  requirements:
65
- - - '>='
70
+ - - ! '>='
66
71
  - !ruby/object:Gem::Version
67
72
  version: '0'
68
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
69
75
  requirements:
70
- - - '>='
76
+ - - ! '>='
71
77
  - !ruby/object:Gem::Version
72
78
  version: '0'
73
79
  requirements: []
74
80
  rubyforge_project:
75
- rubygems_version: 2.0.3
81
+ rubygems_version: 1.8.23
76
82
  signing_key:
77
- specification_version: 4
83
+ specification_version: 3
78
84
  summary: Expose iOS system C libraries in RubyMotion
79
85
  test_files: []
80
86
  has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: be4b20cc5a9df900392e473d3bffcc51f5e3a52d
4
- data.tar.gz: 409003301af6fdc598cad5d2120568ab8791aefa
5
- SHA512:
6
- metadata.gz: a8a11705edb6e7749d15e559d836faf5134ca7c9a22815ea6337248aca3370f34ecc3bfe572bc915d6d61e346d4b81b72dcf16067c0dc7a15a453df6694b3188
7
- data.tar.gz: dd945be80a47f5c4880725ad978c58817ccaf37dbb4a8a80b2f6a2b80b2c7d01d91b58e8a0c539f5d46d2c46d79dfeb76f1d3b1b7d60df98992b03b351b14b7e