rm-extensions 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9441b20b807881789ef429b6b7042149d260f0db
4
+ data.tar.gz: 824cd48ce0b752a627673149867344803538ec72
5
+ SHA512:
6
+ metadata.gz: 9828f25a72edfc1b1fd69d293ab2c1592d8232df868d847defb83070e4bd8af54180b9a8d88880489124aa7dd4432ed805a3b1bbcdeba61ffdb1baf94c900120
7
+ data.tar.gz: 48be5fb1fa300464a5ebd40bcf32fb88c05907f0d4da32eb58aad034e9c8c12736bc588b2247184da0ade4e5f0e7139b32352219c2926e042c1849197567e901
data/README.md CHANGED
@@ -237,7 +237,6 @@ And then execute:
237
237
  $ bundle
238
238
 
239
239
  * Currently depends on bubblewrap (for BW::KVO).
240
- * AssociatedObject objc runtime taken from BlocksKit, modified to work with rubymotion.
241
240
 
242
241
  Contributing
243
242
  -----------------
@@ -39,6 +39,7 @@ module RMExtensions
39
39
  ::RMExtensions.retained_items.delete_at(::RMExtensions.retained_items.index(self) || ::RMExtensions.retained_items.length)
40
40
  end
41
41
  end
42
+ alias_method :rmext_release!, :rmext_detach!
42
43
 
43
44
  end
44
45
 
@@ -1,3 +1,3 @@
1
1
  module RMExtensions
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/lib/rm-extensions.rb CHANGED
@@ -16,5 +16,4 @@ Motion::Project::App.setup do |app|
16
16
  ).reverse.each do |x|
17
17
  app.files.unshift(File.join(File.dirname(__FILE__), "motion/#{x}.rb"))
18
18
  end
19
- app.vendor_project(File.join(File.dirname(__FILE__), '../ext'), :static)
20
19
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rm-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Joe Noon
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-11 00:00:00.000000000 Z
11
+ date: 2013-06-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bubble-wrap
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.1.5
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.1.5
30
27
  description: Extensions and helpers for dealing with various areas of rubymotion
@@ -39,8 +36,6 @@ files:
39
36
  - LICENSE.txt
40
37
  - README.md
41
38
  - Rakefile
42
- - ext/NSObject+RMExtensions.h
43
- - ext/NSObject+RMExtensions.m
44
39
  - lib/motion/accessors.rb
45
40
  - lib/motion/context.rb
46
41
  - lib/motion/deallocation.rb
@@ -53,26 +48,25 @@ files:
53
48
  - rm-extensions.gemspec
54
49
  homepage: https://github.com/joenoon/rm-extensions
55
50
  licenses: []
51
+ metadata: {}
56
52
  post_install_message:
57
53
  rdoc_options: []
58
54
  require_paths:
59
55
  - lib
60
56
  required_ruby_version: !ruby/object:Gem::Requirement
61
- none: false
62
57
  requirements:
63
- - - ! '>='
58
+ - - '>='
64
59
  - !ruby/object:Gem::Version
65
60
  version: '0'
66
61
  required_rubygems_version: !ruby/object:Gem::Requirement
67
- none: false
68
62
  requirements:
69
- - - ! '>='
63
+ - - '>='
70
64
  - !ruby/object:Gem::Version
71
65
  version: '0'
72
66
  requirements: []
73
67
  rubyforge_project:
74
- rubygems_version: 1.8.23
68
+ rubygems_version: 2.0.3
75
69
  signing_key:
76
- specification_version: 3
70
+ specification_version: 4
77
71
  summary: Extensions and helpers for dealing with various areas of rubymotion
78
72
  test_files: []
@@ -1,161 +0,0 @@
1
- // This is a pull from BlocksKit, with modifications to accept an NSString,
2
- // Since we can't send true unique pointers for objects from rubymotion, and
3
- // we'll rely on sending Symbols from rubymotion which turn into unique strings
4
- // in objective-c.
5
- //
6
- //
7
- // NSObject+AssociatedObjects.h
8
- // BlocksKit
9
- //
10
-
11
- /** Objective-C wrapper for 10.6+ associated object API.
12
-
13
- In Mac OS X Snow Leopard and iOS 3.0, Apple introduced an addition to the
14
- Objective-C Runtime called associated objects. Associated objects allow for the
15
- pairing of a random key and object pair to be saved on an instance.
16
-
17
- In BlocksKit, associated objects allow us to emulate instance variables in the
18
- ategories we use.
19
-
20
- Class methods also exist for each association. These associations are unique to
21
- each class, and exist for the lifetime of the application unless set to `nil`.
22
- Each class is a unique meta-object; the ultimate singleton.
23
-
24
- Created by [Andy Matuschak](https://github.com/andymatuschak) as
25
- `AMAssociatedObjects`.
26
- */
27
- @interface NSObject (RMEXTAssociatedObjects)
28
-
29
- /** Strongly associates an object with the reciever.
30
-
31
- The associated value is retained as if it were a property
32
- synthesized with `nonatomic` and `retain`.
33
-
34
- Using retained association is strongly recommended for most
35
- Objective-C object derivative of NSObject, particularly
36
- when it is subject to being externally released or is in an
37
- `NSAutoreleasePool`.
38
-
39
- @param value Any object.
40
- @param key A unique key pointer.
41
- */
42
- - (void)rmext_associateValue:(id)value withKey:(NSString *)key;
43
-
44
- /** Strongly associates an object with the receiving class.
45
-
46
- @see associateValue:withKey:
47
- @param value Any object.
48
- @param key A unique key pointer.
49
- */
50
- + (void)rmext_associateValue:(id)value withKey:(NSString *)key;
51
-
52
- /** Strongly, thread-safely associates an object with the reciever.
53
-
54
- The associated value is retained as if it were a property
55
- synthesized with `atomic` and `retain`.
56
-
57
- Using retained association is strongly recommended for most
58
- Objective-C object derivative of NSObject, particularly
59
- when it is subject to being externally released or is in an
60
- `NSAutoreleasePool`.
61
-
62
- @see associateValue:withKey:
63
- @param value Any object.
64
- @param key A unique key pointer.
65
- */
66
- - (void)rmext_atomicallyAssociateValue:(id)value withKey:(NSString *)key;
67
-
68
- /** Strongly, thread-safely associates an object with the receiving class.
69
-
70
- @see associateValue:withKey:
71
- @param value Any object.
72
- @param key A unique key pointer.
73
- */
74
- + (void)rmext_atomicallyAssociateValue:(id)value withKey:(NSString *)key;
75
-
76
- /** Associates a copy of an object with the reciever.
77
-
78
- The associated value is copied as if it were a property
79
- synthesized with `nonatomic` and `copy`.
80
-
81
- Using copied association is recommended for a block or
82
- otherwise `NSCopying`-compliant instances like NSString.
83
-
84
- @param value Any object, pointer, or value.
85
- @param key A unique key pointer.
86
- */
87
- - (void)rmext_associateCopyOfValue:(id)value withKey:(NSString *)key;
88
-
89
- /** Associates a copy of an object with the receiving class.
90
-
91
- @see associateCopyOfValue:withKey:
92
- @param value Any object, pointer, or value.
93
- @param key A unique key pointer.
94
- */
95
- + (void)rmext_associateCopyOfValue:(id)value withKey:(NSString *)key;
96
-
97
- /** Thread-safely associates a copy of an object with the reciever.
98
-
99
- The associated value is copied as if it were a property
100
- synthesized with `atomic` and `copy`.
101
-
102
- Using copied association is recommended for a block or
103
- otherwise `NSCopying`-compliant instances like NSString.
104
-
105
- @see associateCopyOfValue:withKey:
106
- @param value Any object, pointer, or value.
107
- @param key A unique key pointer.
108
- */
109
- - (void)rmext_atomicallyAssociateCopyOfValue:(id)value withKey:(NSString *)key;
110
-
111
- /** Thread-safely associates a copy of an object with the receiving class.
112
-
113
- @see associateCopyOfValue:withKey:
114
- @param value Any object, pointer, or value.
115
- @param key A unique key pointer.
116
- */
117
- + (void)rmext_atomicallyAssociateCopyOfValue:(id)value withKey:(NSString *)key;
118
-
119
- /** Weakly associates an object with the reciever.
120
-
121
- A weak association will cause the pointer to be set to zero
122
- or nil upon the disappearance of what it references;
123
- in other words, the associated object is not kept alive.
124
-
125
- @param value Any object.
126
- @param key A unique key pointer.
127
- */
128
- - (void)rmext_weaklyAssociateValue:(id)value withKey:(NSString *)key;
129
-
130
- /** Weakly associates an object with the receiving class.
131
-
132
- @see weaklyAssociateValue:withKey:
133
- @param value Any object.
134
- @param key A unique key pointer.
135
- */
136
- + (void)rmext_weaklyAssociateValue:(id)value withKey:(NSString *)key;
137
-
138
- /** Returns the associated value for a key on the reciever.
139
-
140
- @param key A unique key pointer.
141
- @return The object associated with the key, or `nil` if not found.
142
- */
143
- - (id)rmext_associatedValueForKey:(NSString *)key;
144
-
145
- /** Returns the associated value for a key on the receiving class.
146
-
147
- @see associatedValueForKey:
148
- @param key A unique key pointer.
149
- @return The object associated with the key, or `nil` if not found.
150
- */
151
- + (id)rmext_associatedValueForKey:(NSString *)key;
152
-
153
- /** Returns the reciever to a clean state by removing all
154
- associated objects, releasing them if necessary. */
155
- - (void)rmext_removeAllAssociatedObjects;
156
-
157
- /** Returns the recieving class to a clean state by removing
158
- all associated objects, releasing them if necessary. */
159
- + (void)rmext_removeAllAssociatedObjects;
160
-
161
- @end
@@ -1,76 +0,0 @@
1
- // This is a pull from BlocksKit, with modifications to accept an NSString,
2
- // Since we can't send true unique pointers for objects from rubymotion, and
3
- // we'll rely on sending Symbols from rubymotion which turn into unique strings
4
- // in objective-c.
5
- //
6
- //
7
- // NSObject+AssociatedObjects.m
8
- // BlocksKit
9
- //
10
-
11
- #import "NSObject+RMExtensions.h"
12
- #import <objc/runtime.h>
13
-
14
- @implementation NSObject (RMEXTAssociatedObjects)
15
-
16
- #pragma mark - Instance Methods
17
-
18
- - (void)rmext_associateValue:(id)value withKey:(NSString *)key {
19
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
20
- }
21
-
22
- - (void)rmext_atomicallyAssociateValue:(id)value withKey:(NSString *)key {
23
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_RETAIN);
24
- }
25
-
26
- - (void)rmext_associateCopyOfValue:(id)value withKey:(NSString *)key {
27
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_COPY_NONATOMIC);
28
- }
29
-
30
- - (void)rmext_atomicallyAssociateCopyOfValue:(id)value withKey:(NSString *)key {
31
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_COPY);
32
- }
33
-
34
- - (void)rmext_weaklyAssociateValue:(id)value withKey:(NSString *)key {
35
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_ASSIGN);
36
- }
37
-
38
- - (id)rmext_associatedValueForKey:(NSString *)key {
39
- return objc_getAssociatedObject(self, key);
40
- }
41
-
42
- - (void)rmext_removeAllAssociatedObjects {
43
- objc_removeAssociatedObjects(self);
44
- }
45
-
46
- #pragma mark - Class Methods
47
-
48
- + (void)rmext_associateValue:(id)value withKey:(NSString *)key {
49
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
50
- }
51
-
52
- + (void)rmext_atomicallyAssociateValue:(id)value withKey:(NSString *)key {
53
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_RETAIN);
54
- }
55
-
56
- + (void)rmext_associateCopyOfValue:(id)value withKey:(NSString *)key {
57
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_COPY_NONATOMIC);
58
- }
59
-
60
- + (void)rmext_atomicallyAssociateCopyOfValue:(id)value withKey:(NSString *)key {
61
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_COPY);
62
- }
63
-
64
- + (void)rmext_weaklyAssociateValue:(id)value withKey:(NSString *)key {
65
- objc_setAssociatedObject(self, key, value, OBJC_ASSOCIATION_ASSIGN);
66
- }
67
-
68
- + (id)rmext_associatedValueForKey:(NSString *)key {
69
- return objc_getAssociatedObject(self, key);
70
- }
71
-
72
- + (void)rmext_removeAllAssociatedObjects {
73
- objc_removeAssociatedObjects(self);
74
- }
75
-
76
- @end