Sha256: 1dee339fd2028c6b77f162dc7f0bb125378ca499a13e92084a9732941ce99993

Contents?: true

Size: 1.89 KB

Versions: 3

Compression:

Stored size: 1.89 KB

Contents

##==README
  
  Service层基础共享代码模式抽取

功能列表:
* 支持自定义json格式的资源crud操作
* 提供全局字典常量/转换管理
* 提供数据库层-业务层字段自动转换

#==TODO TASK LIST 
* 更好用的安装使用接口,自动完成,可配置
* rake 任务的引入, 产品模式将数据文件预编译成一个数据文件
* fieldmapping 和 常量管理的分离
   让使用者可以决定是否使用mapping,目前可以通过注释initializer中片段完成
* 用模板的方法生成initializer,以便插入一些动态数据
* 提供scaffold结构化方法,辅助开发
* application_controller_module的引入还是有问题!!!
* index默认查询条件加入,传入条件的merge(目前已提供传入条件的精确搜索)

##==NS Service Pack使用指南
*1 在rails3项目Gemfile中引入
   gem 'ns_service_pack'
  
*2 启动控制台 rails c,运行命令
   NsServicePack.install

*3 配置项目中的常量数据
   config/code_hashes/**/*.yml中数据会作为CodeHash加载
   可在控制台下用以下命令辅助生成:
     <ModelName>.dump_mapping
     生成buz-db field_mapping, 可配置, --><app>/config/code_hashes/fields/*.yml

     <ModelName>.dump_new
     客户new该资源时的结构,--> <app>/data/*.yml

   常量的使用:
     GlobalConst.ns_statuses[key_or_value]

*4 配置项目的controllers和models
4.1)在ApplicationController子类,如:
class AddressesController < ApplicationController
  ...
  def model_class
    #引用的模型类,是ActiveRecord::Base子类
  end

  #已提供默认条件查询
  def index
    #定义@conds实例变量,组织查询的条件,默认支持分页
  end
  ...
end

4.2)在ActiveRecord::Base子类中,如Customer
class Customer < ActiveRecord::Base
  ...
  def self.get_map_value(k, v)
    #定制各字段值的业务显示格式
    #value mapping
  end
  ...
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ns_service_pack-0.0.10 README
ns_service_pack-0.0.9 README
ns_service_pack-0.0.8 README