mirah_model 0.0.1-java → 0.0.2-java

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/README.md CHANGED
@@ -29,6 +29,7 @@ or by using the update method and passing a hash
29
29
 
30
30
  Development
31
31
  ------------
32
+ Requires Mirah 0.0.6(unreleased) to compile
32
33
 
33
34
  You can build the jar by running:
34
35
 
data/Rakefile CHANGED
@@ -1,30 +1,31 @@
1
1
  require 'rubygems'
2
2
  require 'rubygems/package_task'
3
3
  require 'ant'
4
+
4
5
  require 'appengine-sdk'
5
6
  require 'mirah_task'
6
7
 
7
-
8
8
  Gem::PackageTask.new Gem::Specification.load('mirah_model.gemspec') do |pkg|
9
9
  pkg.need_zip = true
10
10
  pkg.need_tar = true
11
11
  end
12
12
 
13
- task :gem => :jar
14
13
  #require 'maven/junit/junit'
15
14
  # -- will work after maven support --JUNIT_JAR = Gem.find_files('maven/junit/junit.jar').first
16
- JUNIT_JAR = 'javalib/junit.jar'
17
- TESTING_JARS = [AppEngine::SDK::API_JAR, AppEngine::SDK::LABS_JAR, JUNIT_JAR
18
- ] +
19
- AppEngine::SDK::RUNTIME_JARS.reject {|j| j =~ /appengine-local-runtime/}
15
+
16
+ TESTING_JARS = [AppEngine::SDK::API_JAR,
17
+ AppEngine::SDK::LABS_JAR,
18
+ 'javalib/junit.jar',
19
+ *AppEngine::SDK::RUNTIME_JARS.reject {|j| j =~ /appengine-local-runtime/}
20
+ ]
21
+
20
22
  TESTING_JARS.each {|jar| $CLASSPATH << jar}
21
23
 
22
- # Mirah.compiler_options = ['-V']
24
+ #Mirah.compiler_options = ['-V']
23
25
 
24
26
  task :default => :test
25
27
 
26
- task :init do
27
- mkdir_p 'dist'
28
+ task :init do
28
29
  mkdir_p 'build'
29
30
  end
30
31
 
@@ -34,22 +35,28 @@ task :clean do
34
35
  end
35
36
 
36
37
  task :compile => :init do
37
- # build the Duby sources
38
- puts "Compiling Duby sources"
39
- mirahc '.', :dir => 'src', :dest => 'build'
38
+ # build the Mirah sources
39
+ puts "Compiling Mirah sources"
40
+ args = Dir['src/**/*.{mirah,duby}'] + [{ :dir => 'src', :dest => 'build'}]
41
+ mirahc *args
40
42
  end
41
43
 
42
44
  desc "run tests"
43
45
  task :compile_test => :jar do
44
- puts "Compiling Duby tests"
45
- mirahc '.', :dir => 'test', :dest => 'test',
46
- :options => ['--classpath', Dir.pwd + "/dist/dubydatastore.jar"]
46
+ puts "Compiling Mirah tests"
47
+ args = Dir['test/**/*.{mirah,duby}'] + [{ :dir => 'test', :dest => 'test',
48
+ :options => ['--classpath', Dir.pwd + "/lib/mirahdatastore.jar"]}]
49
+ mirahc *args
47
50
  end
48
51
 
52
+ file 'lib/mirahdatastore.jar' => :jar
53
+
49
54
  desc "build jar"
50
55
  task :jar => :compile do
51
- ant.jar :jarfile => 'dist/dubydatastore.jar' do
52
- fileset :dir => 'lib'
56
+ ant.jar :jarfile => 'lib/mirahdatastore.jar' do
57
+ fileset :dir => 'lib' do
58
+ exclude :name => '*.jar'
59
+ end
53
60
  fileset :dir => 'build'
54
61
  end
55
62
  end
@@ -64,4 +71,4 @@ task :test => :compile_test do
64
71
  formatter :type => 'plain', :usefile => 'false'
65
72
  end
66
73
  end
67
- end
74
+ end
@@ -0,0 +1,4 @@
1
+ require File.dirname(__FILE__)+'/mirahdatastore.jar'
2
+
3
+ module MirahModel
4
+ end
@@ -1,5 +1,5 @@
1
1
  module AppEngine
2
- class DubyDatastorePlugin
2
+ class MirahDatastorePlugin
3
3
  @models = {}
4
4
 
5
5
  TypeMap = {
@@ -51,7 +51,7 @@ module AppEngine
51
51
  }
52
52
 
53
53
  class ModelState
54
- include Duby::AST
54
+ include Mirah::AST
55
55
  attr_reader :kind, :query, :read, :save, :transformer
56
56
 
57
57
  def initialize(transformer, klass, parent, position, ast)
@@ -109,7 +109,7 @@ module AppEngine
109
109
  self
110
110
  end
111
111
  EOF
112
- [Duby::AST.type(nil, 'com.google.appengine.ext.duby.db.DQuery'),
112
+ [Mirah::AST.type(nil, 'com.google.appengine.ext.mirah.db.DQuery'),
113
113
  eval(classdef, queryinit)]
114
114
  end
115
115
  ast << @query
@@ -131,7 +131,7 @@ module AppEngine
131
131
  end
132
132
  EOF
133
133
  @get_properties = get_properties.body.children[1] =
134
- Duby::AST::Body.new(get_properties.body, position)
134
+ Mirah::AST::Body.new(get_properties.body, position)
135
135
  ast << get_properties
136
136
  update = eval(parent, <<-EOF)
137
137
  def update(properties:Map)
@@ -260,7 +260,7 @@ module AppEngine
260
260
  end
261
261
 
262
262
  def self.find_class(node)
263
- node = node.parent until Duby::AST::ClassDefinition === node
263
+ node = node.parent until Mirah::AST::ClassDefinition === node
264
264
  node
265
265
  end
266
266
 
@@ -275,9 +275,9 @@ module AppEngine
275
275
  end
276
276
 
277
277
  def self.from_datastore(type, value)
278
- duby_type = TypeMap[type]
279
- if duby_type
280
- default = Defaults.fetch(type, "#{duby_type}(nil)")
278
+ mirah_type = TypeMap[type]
279
+ if mirah_type
280
+ default = Defaults.fetch(type, "#{mirah_type}(nil)")
281
281
  conversion = Conversions[type]
282
282
  "(#{value} ? #{type}(#{value}).#{conversion} : #{default})"
283
283
  else
@@ -296,7 +296,7 @@ module AppEngine
296
296
  type = type.name
297
297
  type = 'Long' if type == 'Integer'
298
298
 
299
- result = Duby::AST::ScopedBody.new(parent, fcall.position) {[]}
299
+ result = Mirah::AST::ScopedBody.new(parent, fcall.position) {[]}
300
300
  result.static_scope = fcall.scope.static_scope
301
301
  klass = find_class(parent)
302
302
  unless @models[klass]
@@ -305,10 +305,10 @@ module AppEngine
305
305
  end
306
306
  model = @models[klass]
307
307
 
308
- duby_type = TypeMap.fetch(type, type)
309
- coercion = "coerce_" + duby_type.downcase.sub("[]", "s")
308
+ mirah_type = TypeMap.fetch(type, type)
309
+ coercion = "coerce_" + mirah_type.downcase.sub("[]", "s")
310
310
 
311
- if duby_type == 'List'
311
+ if mirah_type == 'List'
312
312
  model.extend_query(<<-EOF)
313
313
  def #{name}(value:Object)
314
314
  returns :void
@@ -317,7 +317,7 @@ module AppEngine
317
317
  EOF
318
318
  else
319
319
  model.extend_query(<<-EOF)
320
- def #{name}(value:#{duby_type})
320
+ def #{name}(value:#{mirah_type})
321
321
  returns :void
322
322
  _query.addFilter("#{name}", _eq_op, #{to_datastore(type, 'value')})
323
323
  end
@@ -339,7 +339,7 @@ module AppEngine
339
339
  EOF
340
340
 
341
341
  model.extend_get_properties(<<-EOF)
342
- result.put("#{name}", #{maybe_box(duby_type, 'self.' + name)})
342
+ result.put("#{name}", #{maybe_box(mirah_type, 'self.' + name)})
343
343
  EOF
344
344
 
345
345
  result << model.eval(parent, <<-EOF)
@@ -347,7 +347,7 @@ module AppEngine
347
347
  @#{name}
348
348
  end
349
349
 
350
- def #{name}=(value:#{duby_type})
350
+ def #{name}=(value:#{mirah_type})
351
351
  @#{name} = value
352
352
  end
353
353
 
@@ -359,9 +359,9 @@ module AppEngine
359
359
  result
360
360
  end
361
361
 
362
- def self.maybe_box(duby_type, value)
363
- if Boxes.include?(duby_type)
364
- "#{Boxes[duby_type]}.valueOf(#{value})"
362
+ def self.maybe_box(mirah_type, value)
363
+ if Boxes.include?(mirah_type)
364
+ "#{Boxes[mirah_type]}.valueOf(#{value})"
365
365
  else
366
366
  value
367
367
  end
@@ -371,5 +371,5 @@ module AppEngine
371
371
  @models = {}
372
372
  end
373
373
  end
374
- ::Duby.plugins << DubyDatastorePlugin
374
+ ::Mirah.plugins << MirahDatastorePlugin
375
375
  end
Binary file
@@ -1,4 +1,4 @@
1
- package com.google.appengine.ext.duby.db
1
+ package com.google.appengine.ext.mirah.db
2
2
 
3
3
  import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig
4
4
  import com.google.appengine.tools.development.testing.LocalServiceTestConfig
@@ -112,4 +112,4 @@ class ModelTest
112
112
  assertEquals(e.key, e2.key)
113
113
  end
114
114
  # TODO more tests.
115
- end
115
+ end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mirah_model
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
4
+ prerelease:
5
+ version: 0.0.2
10
6
  platform: java
11
7
  authors:
12
8
  - Ryan Brown
@@ -14,34 +10,28 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-12-15 08:47:11.863000 -07:00
13
+ date: 2011-02-15 18:45:32.018000 -07:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
21
17
  name: mirah
22
18
  prerelease: false
23
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
24
21
  requirements:
25
- - - ">="
22
+ - - "="
26
23
  - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 0
30
- - 4
31
- version: 0.0.4
24
+ version: 0.0.5
32
25
  type: :runtime
33
26
  version_requirements: *id001
34
27
  - !ruby/object:Gem::Dependency
35
28
  name: appengine-sdk
36
29
  prerelease: false
37
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
38
32
  requirements:
39
33
  - - ~>
40
34
  - !ruby/object:Gem::Version
41
- segments:
42
- - 1
43
- - 4
44
- - 0
45
35
  version: 1.4.0
46
36
  type: :runtime
47
37
  version_requirements: *id002
@@ -55,11 +45,13 @@ extensions: []
55
45
  extra_rdoc_files:
56
46
  - README.md
57
47
  files:
48
+ - lib/mirah_model.rb
49
+ - lib/mirahdatastore.jar
58
50
  - lib/mirah_model/datastore.rb
59
51
  - test/model_test.mirah
60
- - test/com/google/appengine/ext/duby/db/ModelTest.class
61
- - test/com/google/appengine/ext/duby/db/TestModel$Query.class
62
- - test/com/google/appengine/ext/duby/db/TestModel.class
52
+ - test/com/google/appengine/ext/mirah/db/ModelTest.class
53
+ - test/com/google/appengine/ext/mirah/db/TestModel$Query.class
54
+ - test/com/google/appengine/ext/mirah/db/TestModel.class
63
55
  - README.md
64
56
  - Rakefile
65
57
  has_rdoc: true
@@ -73,23 +65,21 @@ rdoc_options:
73
65
  require_paths:
74
66
  - lib
75
67
  required_ruby_version: !ruby/object:Gem::Requirement
68
+ none: false
76
69
  requirements:
77
70
  - - ">="
78
71
  - !ruby/object:Gem::Version
79
- segments:
80
- - 0
81
72
  version: "0"
82
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
83
75
  requirements:
84
76
  - - ">="
85
77
  - !ruby/object:Gem::Version
86
- segments:
87
- - 0
88
78
  version: "0"
89
79
  requirements: []
90
80
 
91
81
  rubyforge_project:
92
- rubygems_version: 1.3.6
82
+ rubygems_version: 1.5.0
93
83
  signing_key:
94
84
  specification_version: 3
95
85
  summary: Mirah Model is a ORM library for App Engine's datastore.