mirah_model 0.0.1-java → 0.0.2-java

Sign up to get free protection for your applications and to get access to all the features.
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.