无意间发现一UUID生成器UUIDTools:http://rubyforge.org/projects/uuidtools/,可以从这里下载http://rubyforge.org/frs/?group_id=914。它本身就是个plugin,所以并不需要我们做什么额外的事情,只需要放到vendorpluginsuuidtools下,然后在需要用的地方require进来就可以了
ex:
def getFileName(filename)
if !filename.nil?
require 'uuidtools'
filename.sub(/.*./,UUID.random_create.to_s+'.')
end
end
readme.txt中的使用说明
UUID.md5_create(UUID_DNS_NAMESPACE, "www.widgets.com")
=> #<UUID:0x287576 UUID:3d813cbb-47fb-32ba-91df-831e1593ac29>
UUID.sha1_create(UUID_DNS_NAMESPACE, "www.widgets.com")
=> #<UUID:0x2a0116 UUID:21f7f8de-8051-5b89-8680-0195ef798b6a>
UUID.timestamp_create
=> #<UUID:0x2adfdc UUID:64a5189c-25b3-11da-a97b-00c04fd430c8>
UUID.random_create
=> #<UUID:0x19013a UUID:984265dc-4200-4f02-ae70-fe4f48964159>
看一下它的测试用类:
require 'test/unit'
require 'uuidtools'
class CreateTest < Test::Unit::TestCase
def setup
end
def test_sha1_create
assert_equal(
"f2d04685-b787-55da-8644-9bd28a6f5a53",
UUID.sha1_create(UUID_URL_NAMESPACE, 'http://sporkmonger.com').to_s)
end
def test_md5_create
assert_equal(
"15074785-9071-3fe3-89bd-876e4b9e919b",
UUID.md5_create(UUID_URL_NAMESPACE, 'http://sporkmonger.com').to_s)
end
def test_timestamp_create
assert_not_equal(
UUID.timestamp_create.to_s,
UUID.timestamp_create.to_s)
current_time = Time.now
assert_not_equal(
UUID.timestamp_create(current_time).to_s,
UUID.timestamp_create(current_time).to_s)
uuids = []
1000.times do
uuids << UUID.timestamp_create
end
assert_equal(uuids.size, (uuids.map {|x| x.to_s}).uniq.size,
"Duplicate timestamp-based UUID generated.")
end
def test_random_create
assert_not_equal(
UUID.random_create.to_s,
UUID.random_create.to_s)
end
end
- 描述: UUIDTools 生成的UUID
- 大小: 31.7 KB
分享到:
相关推荐
标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...
标题“在Rails中使用SSL”涉及的是如何在Ruby on Rails框架下配置并使用安全套接层(SSL)来实现网站的加密通信。Rails是用Ruby编程语言开发的一个流行的Web应用程序框架,它支持HTTPS协议,通过SSL/TLS证书来提供...
这篇博文“rails中使用javascript日期控件”探讨了如何在Rails应用中集成和使用JavaScript日期选择器,以实现更高效、友好的前端交互。 首先,我们需要了解JavaScript日期控件的基本概念。JavaScript是一种在客户端...
shoppe-example, 在 Rails 中使用Shoppe平台的示例存储实现 这是一个 Rails 应用程序,它使用 Shoppe 构建。 它具有一个可以爱的设计,以充分演示Shoppe平台提供的功能以及它在 Rails 应用程序中的。 正在启动要开始...
7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...
为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...
这将使Rails知道在哪个环境中运行(开发或生产),以及使用JSX语法。 然而,为了更好地管理和优化前端资源,我们通常会采用webpack。Webpack是一个现代的JavaScript模块打包器,它可以处理各种静态资源,并将其打包...
以下是一些关于如何在 Rails3 中使用 rake 启动后台任务的知识点: 1. **Rakefile**: 每个 Rails 项目都有一个 Rakefile 文件,这是 Rake 执行任务的入口点。在这个文件中,你可以定义自定义的任务。 2. **Task ...
Webpacker是Ruby on Rails框架中一个非常重要的工具,它允许开发者使用Webpack来管理和打包...通过合理配置和使用Webpacker,开发者可以在Rails应用中轻松管理JavaScript模块,同时享受到Webpack带来的各种优化和便利。
mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...
rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r
5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...
这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留Rails的便捷开发体验。 ### 2. 安装`GoOnRails` 首先,确保你的系统已经安装了Rails和Go。接下来,...
在Rails中,可以使用Devise这样的gem来处理用户身份验证,提供注册、登录、密码重置等功能。用户模型通常会包含确认令牌、加密密码等相关字段。 4. **数据库和ActiveRecord**: Rails使用ActiveRecord作为ORM,它...
- 如何在Rails中实现RESTful接口。 - **案例分析**: - 分析一个典型的RESTful应用示例。 #### 九、练习作业2-在Group里面发表文章-双层RESTFul - **目标**: - 在Group中添加Post功能。 - **实现过程**: - 创建...
在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...
标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...
6. **erb模板**:Rails中的视图通常使用ERB(Embedded Ruby)模板语言,将HTML与Ruby代码混合,用于动态生成页面内容。 7. **Helper方法**:Rails提供了许多内置助手方法,帮助开发者在视图中处理复杂的逻辑和呈现...