`
xxj
  • 浏览: 432217 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在rails中使用UUIDTools

阅读更多
无意间发现一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
分享到:
评论
3 楼 luopeng_tr 2011-08-17  
楼主你好, 看了帖子我做了一下测试。 出来一个问题,希望指教

no such file to load -- uuidtools

Rails.root: E:/work/rest_pg

Application Trace | Framework Trace | Full Trace


app/controllers/users_controller.rb:2:in `(root)'
app/controllers/users_controller.rb:454:in `load_file'

This error occurred while loading the following files:
   uuidtools


我用的是rails3 ,UUIDTools用的是uuidtools2.1.2
2 楼 xxj 2006-10-12  
UUIDTools is a rails plugin not java
1 楼 xxj 2006-09-13  
恩, 感觉挺好的,我看typo的源代码中也是使用的这个tool,我在处理文件上传的时候,将他用来给文件重命名。

相关推荐

    在rails中 使用RSpec生产CHM文档

    标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...

    在Rails中使用SSL

    标题“在Rails中使用SSL”涉及的是如何在Ruby on Rails框架下配置并使用安全套接层(SSL)来实现网站的加密通信。Rails是用Ruby编程语言开发的一个流行的Web应用程序框架,它支持HTTPS协议,通过SSL/TLS证书来提供...

    rails中使用javascript日期控件

    这篇博文“rails中使用javascript日期控件”探讨了如何在Rails应用中集成和使用JavaScript日期选择器,以实现更高效、友好的前端交互。 首先,我们需要了解JavaScript日期控件的基本概念。JavaScript是一种在客户端...

    shoppe-example, 在 Rails 中使用Shoppe平台的示例存储实现.zip

    shoppe-example, 在 Rails 中使用Shoppe平台的示例存储实现 这是一个 Rails 应用程序,它使用 Shoppe 构建。 它具有一个可以爱的设计,以充分演示Shoppe平台提供的功能以及它在 Rails 应用程序中的。 正在启动要开始...

    Ruby on Rails中文指南

    7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...

    使用Aptana+Rails开发Rails Web应用(中文)

    为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...

    Ruby-这是一个在Rails应用程序中使用React并使用webpack的示例

    这将使Rails知道在哪个环境中运行(开发或生产),以及使用JSX语法。 然而,为了更好地管理和优化前端资源,我们通常会采用webpack。Webpack是一个现代的JavaScript模块打包器,它可以处理各种静态资源,并将其打包...

    Rails3 使用rake启动后台任务

    以下是一些关于如何在 Rails3 中使用 rake 启动后台任务的知识点: 1. **Rakefile**: 每个 Rails 项目都有一个 Rakefile 文件,这是 Rake 执行任务的入口点。在这个文件中,你可以定义自定义的任务。 2. **Task ...

    Ruby-Webpacker使用Webpack在Rails中管理类似app的JavaScript模块

    Webpacker是Ruby on Rails框架中一个非常重要的工具,它允许开发者使用Webpack来管理和打包...通过合理配置和使用Webpacker,开发者可以在Rails应用中轻松管理JavaScript模块,同时享受到Webpack带来的各种优化和便利。

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件.zip

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...

    rails-assets, 在 Rails 中,资产管理的解决.zip

    rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r

    rails指南 中文版

    5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留Rails的便捷开发体验。 ### 2. 安装`GoOnRails` 首先,确保你的系统已经安装了Rails和Go。接下来,...

    Rails项目源代码

    在Rails中,可以使用Devise这样的gem来处理用户身份验证,提供注册、登录、密码重置等功能。用户模型通常会包含确认令牌、加密密码等相关字段。 4. **数据库和ActiveRecord**: Rails使用ActiveRecord作为ORM,它...

    Rails 101 入门电子书

    - 如何在Rails中实现RESTful接口。 - **案例分析**: - 分析一个典型的RESTful应用示例。 #### 九、练习作业2-在Group里面发表文章-双层RESTFul - **目标**: - 在Group中添加Post功能。 - **实现过程**: - 创建...

    Rails 中mongrel的安装

    在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...

    Rails的中文乱码问题

    标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...

    Ruby On Rails中文教材(PDF)

    6. **erb模板**:Rails中的视图通常使用ERB(Embedded Ruby)模板语言,将HTML与Ruby代码混合,用于动态生成页面内容。 7. **Helper方法**:Rails提供了许多内置助手方法,帮助开发者在视图中处理复杂的逻辑和呈现...

Global site tag (gtag.js) - Google Analytics