nyara 0.0.1.pre.4 → 0.0.1.pre.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7dc7b625bcf917f1fc957ca42953345df87faa40
4
- data.tar.gz: f7c7669fed83475cb1626dec024e30eed7cf76ee
3
+ metadata.gz: ff97920b70aa73d175c0c11ceabd1d2117d680da
4
+ data.tar.gz: 37bb1733ddfafef3a1ce806e58e1ddf145396a15
5
5
  SHA512:
6
- metadata.gz: e76227e8c9e4f4dc292b32e1cc72e11525e91a5b6f54784d4f7f6a63fba4b126f5fea81070cf793723908d82182faac1e3a47d3835903a99426fb82cb85e93b1
7
- data.tar.gz: 592183cbad4bb90c3090a752832a2e7d26138e07b38bf2e7cb94544046619c3f6f620c566e21119f80f8c99c0f360c0be49f0303b51b19b6ac25a0c4a564c407
6
+ metadata.gz: dabf49a57dd4c1e91693020c699e5dcb9a5726663af573a162d8c1df44d712c0ac4894b15e943010e5259488746d4da117d98c127563b7a75905813dcc2bceb5
7
+ data.tar.gz: 636bbcd0ab74719cb7feb9c93891dc04287c3445eb19465c8bb232495b935964b7e4f9da582e6faed3a33f5d6be14f7410b9534096832692cbafcda8ee35ab8e
data/ext/extconf.rb CHANGED
@@ -11,12 +11,7 @@ end
11
11
 
12
12
  def tweak_cflags
13
13
  mf_conf = RbConfig::MAKEFILE_CONFIG
14
- if mf_conf['CC'] =~ /clang/
15
- # enable c++0x. this can not be installed on $CPPFLAGS, wtf??
16
- mf_conf['CXXFLAGS'] << ' -stdlib=libc++ -std=c++0x'
17
- $CFLAGS << ' $(xflags)'
18
- else
19
- mf_conf['CXXFLAGS'] << ' -std=c++0x'
14
+ if mf_conf['CC'] =~ /gcc/
20
15
  $CFLAGS << ' -std=c99 -Wno-declaration-after-statement $(xflags)'
21
16
  end
22
17
 
data/ext/request.c CHANGED
@@ -89,10 +89,8 @@ void nyara_request_term_close(VALUE self, bool write_last_chunk) {
89
89
  P;
90
90
  if (write_last_chunk || p->status == 200) {
91
91
  // usually this succeeds, while not, it doesn't matter cause we are closing it
92
- # pragma GCC diagnostic push
93
- # pragma GCC diagnostic ignored "-Wunused-result"
94
- write(p->fd, "0\r\n\r\n", 5);
95
- # pragma GCC diagnostic pop
92
+ if (write(p->fd, "0\r\n\r\n", 5)) {
93
+ }
96
94
  }
97
95
  nyara_detach_fd(p->fd);
98
96
  p->fd = 0;
data/ext/route.cc CHANGED
@@ -45,7 +45,11 @@ struct RouteEntry {
45
45
  };
46
46
 
47
47
  typedef std::vector<RouteEntry> RouteEntries;
48
- static std::map<enum http_method, RouteEntries*> route_map;
48
+ typedef RouteEntries::iterator EntriesIter;
49
+ typedef std::map<enum http_method, RouteEntries*> RouteMap;
50
+ typedef RouteMap::iterator MapIter;
51
+
52
+ static RouteMap route_map;
49
53
  static OnigRegion region; // we can reuse the region without worrying thread safety
50
54
  static ID id_to_s;
51
55
  static rb_encoding* u8_enc;
@@ -56,7 +60,7 @@ static bool start_with(const char* a, long a_len, const char* b, long b_len) {
56
60
  if (b_len > a_len) {
57
61
  return false;
58
62
  }
59
- for (size_t i = 0; i < b_len; i++) {
63
+ for (long i = 0; i < b_len; i++) {
60
64
  if (a[i] != b[i]) {
61
65
  return false;
62
66
  }
@@ -76,9 +80,9 @@ static enum http_method canonicalize_http_method(VALUE m) {
76
80
  }
77
81
 
78
82
  static VALUE ext_clear_route(VALUE req) {
79
- for (auto i = route_map.begin(); i != route_map.end(); ++i) {
83
+ for (MapIter i = route_map.begin(); i != route_map.end(); ++i) {
80
84
  RouteEntries* entries = i->second;
81
- for (auto j = entries->begin(); j != entries->end(); ++j) {
85
+ for (EntriesIter j = entries->begin(); j != entries->end(); ++j) {
82
86
  j->dealloc();
83
87
  }
84
88
  delete entries;
@@ -91,7 +95,7 @@ static VALUE ext_register_route(VALUE self, VALUE v_e) {
91
95
  // get route entries
92
96
  enum http_method m = canonicalize_http_method(rb_iv_get(v_e, "@http_method"));
93
97
  RouteEntries* route_entries;
94
- auto map_iter = route_map.find(m);
98
+ MapIter map_iter = route_map.find(m);
95
99
  if (map_iter == route_map.end()) {
96
100
  route_entries = new RouteEntries();
97
101
  route_map[m] = route_entries;
@@ -159,15 +163,14 @@ static VALUE ext_list_route(VALUE self) {
159
163
  // note: prevent leak with init nil
160
164
  volatile VALUE arr = Qnil;
161
165
  volatile VALUE e = Qnil;
162
- volatile VALUE prefix = Qnil;
163
166
  volatile VALUE conv = Qnil;
164
167
 
165
168
  volatile VALUE route_hash = rb_hash_new();
166
- for (auto j = route_map.begin(); j != route_map.end(); j++) {
169
+ for (MapIter j = route_map.begin(); j != route_map.end(); j++) {
167
170
  RouteEntries* route_entries = j->second;
168
- VALUE arr = rb_ary_new();
171
+ arr = rb_ary_new();
169
172
  rb_hash_aset(route_hash, rb_str_new2(http_method_str(j->first)), arr);
170
- for (auto i = route_entries->begin(); i != route_entries->end(); i++) {
173
+ for (EntriesIter i = route_entries->begin(); i != route_entries->end(); i++) {
171
174
  e = rb_ary_new();
172
175
  rb_ary_push(e, i->is_sub ? Qtrue : Qfalse);
173
176
  rb_ary_push(e, i->scope);
@@ -227,7 +230,7 @@ static VALUE extract_ext(const char* s, long len) {
227
230
  extern "C"
228
231
  RouteResult nyara_lookup_route(enum http_method method_num, VALUE vpath, VALUE accept_arr) {
229
232
  RouteResult r = {Qnil, Qnil, Qnil, Qnil};
230
- auto map_iter = route_map.find(method_num);
233
+ MapIter map_iter = route_map.find(method_num);
231
234
  if (map_iter == route_map.end()) {
232
235
  return r;
233
236
  }
@@ -237,7 +240,7 @@ RouteResult nyara_lookup_route(enum http_method method_num, VALUE vpath, VALUE a
237
240
  long len = RSTRING_LEN(vpath);
238
241
  // must iterate all
239
242
  bool last_matched = false;
240
- auto i = route_entries->begin();
243
+ EntriesIter i = route_entries->begin();
241
244
  for (; i != route_entries->end(); ++i) {
242
245
  bool matched;
243
246
  if (i->is_sub && last_matched) { // save a bit compare
data/lib/nyara/view.rb CHANGED
@@ -79,8 +79,9 @@ module Nyara
79
79
  if src
80
80
  sig = @meth2sig[meth].map{|k| "#{k}: nil" }.join ','
81
81
  sig = '_={}' if sig.empty?
82
+ sig = "(#{sig})" # 2.0.0-p0 requirement
82
83
  Renderable.class_eval <<-RUBY, path, 1
83
- def render #{sig}
84
+ def render#{sig}
84
85
  #{src}
85
86
  end
86
87
  alias :#{meth.inspect} render
data/nyara.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "nyara"
3
- s.version = "0.0.1.pre.4"
3
+ s.version = "0.0.1.pre.5"
4
4
  s.author = "Zete Lui"
5
5
  s.email = "nobody@example.com"
6
6
  s.homepage = "https://github.com/luikore/nyara"
data/readme.md CHANGED
@@ -13,8 +13,8 @@ Not Yet Another Ruby Async web framework and server.
13
13
  Requirement
14
14
 
15
15
  - BSD/Linux/Mac OS X
16
- - Ruby 2.0.0-p195 or higher (due to some syntax issues, doesn't work on 2.0.0-p0)
17
- - GCC4.5+ or Clang
16
+ - Ruby 2.0.0 or higher
17
+ - GCC or Clang
18
18
 
19
19
  Install
20
20
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nyara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.4
4
+ version: 0.0.1.pre.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zete Lui
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-26 00:00:00.000000000 Z
11
+ date: 2013-06-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Fast, slim and fuzzy ruby web framework + server, based on preforked
14
14
  event queue and Fiber. NO rack NOR eventmachine are used.